当前位置: 首页 > news >正文

SQL Serve---查询

概要

1order by子句

       默认asc(升序)、desc(降序)

2distinct关键字

3group by子句

4、聚合函数

      —max()min()sum()avg()count()

5having子句

6compute子句

英文关键字

order by                排序

 asc                         升序

desc                       降序

 distinct                  去除重复值

 group by                分组

 max()                      最大值

min()                       最小值

sum()                      求和

avg()                       平均值

count()                   记录数量

with rollup             汇总

having                    分组条件

 compute                 统计

order by

--order by子句是select语句中的一个可选部分,功能为排序,它允许你指定返回行的显示顺序,可以指定多个列,也可以指定按照升序或降序返回行。
--order by 子句的用法

   order by [字段1[asc/desc]],[字段2[asc/desc]],…

     注意:  asc 升序(默认值)      desc 降序

--按出生日期先后显示tb_student表。

select * from tb_student order by birthday

--按年龄由大到小显示tb_student表中学号,姓名和年龄。

select sno as 学号, sn as 姓名,

year(getdate()) - year(birthday)  as  年龄

from tb_student  

order by 年龄 desc

可用列别名排序,但是不能用列别名筛选

      NULL(空值)默认为最小值

group by

group by子句指导SQL Server将一些行(这些行在子句中指定的一列或多列中具有相同的值)组合到一行中,也就是分组

注意:查询输入中包括的列, “必须” 在group by子句中出现。

使用GROUP BY的一些规定:

nGROUP BY子句可以包含任意数据的列;
n GROUP B Y子句中列出的每个列都必须是检索列或有效的表达是(但不能是聚集函数)
n 除聚集函数外SELECT语句每个列都必须在GROUP BY子句中
n 分组 中具有NULL值,则NULL作为一个分组返回
n 如果在GROUP BY子句中嵌套了分组,数据将在最后规定的分组中进行汇总
n 注: Group by子句经常与聚合函数搭配作用

distinct关键字

distinct关键字,紧跟在select语句之后的distinct指导SQL Server消除结果集中的重复行,指导SQL Server仅返回唯一的行

聚合函数

group by子句通常与“聚合函数”一起使用。聚合函数针对一组值进行计算,并返回一个值。group by查询中使用的最常见的聚合函数有

v min() : 返回集合中的最小值。
v max() : 返回集合中的最大值。
v sum() : 返回集合的总和。
v avg() : 返回集合的平均值。
v count() : 返回满足 select 语句中指定条件的记录值。
v count(*) : 返回找到的行数(包括空值)。

例: 查看软件学院的 学生人数

    Select  count(*)  from tb_student

      where  dept=‘软件学院’

group by子句中使用having

       having子句限制由group by子句返回的行,其方式与where子句限制select子句返回的行相同。where和having子句可以同时包括在一个select语句中,也就是说,在进行分组操作之前应用where子句,在分组操作之后应用having子句。

having    列名  操作符  值

¯ 首先将 WHERE 子句应用于表中的个别行或关系图网格中的表结构化对象。只对符合 WHERE 子句条件的行进行分组
¯

然后将 HAVING 子句应用于由分组生成的结果集中的行。只有符合 HAVING 子句条件的组才出现在查询输出中。只能将 HAVING 子句应用于也出现在 GROUP BY 子句或聚合函数中的

compute子句

compute子句:统计结果,出现在查询结果最后

这个地方一定要改,要不查不到表

实验

--查询tb_BookInfo(书籍信息表)中的所有的书籍的书籍编号、书籍名称、是否借出字段的信息

--查询tb_ReaderInto(读者信息表)中所有读者的信息

--使用别名定义的三种方法查询每个读者的编号、姓名和联系电话

--(4)查询 tb_BookInfo(书籍信息表)中前5条记录的书籍编号、书籍名称。

--(5)查询tb_BookInfo(书籍信息表)表中已借出的书籍信息。

--(6)查询tb_BookInfo(书籍信息表)中 2017年4月份登记的图书名称和登记日期,

--(7)查询tb_BookInfo(书籍信息表)中人民邮电出版社书籍的信息。

--(8)查询tb_BookInfo(书籍信息表)中2017年4月1日前登记的书籍信息。

--(9)查询名为《数据库原理与应用》的书籍的基本信息。

--(10)查询tb_BookType(书籍类别表)中书籍类别为文学类的书籍信息

--(11)查询在2017-3-1到2017年4-1之间借出的书籍编号、读者编号。

--(12)查询人民邮电大学出版社、上海交通大学出版社的书籍信息。

--(13)查询不是清华大学出版社、大连理工大学出版社出版的书籍信息。

--(14)查询出版社是清华大学出版社并已借出的图书信息。

--(15)查询tb_ReaderInfo(读者信息表)表中姓“田”的读者。

--(16)在tbReaderInfo(读者信息表)中找到所有姓名中姓李并且带飞字的读者

--(17)查询tb_BookInfo(书籍信息表),按书籍名称升序显示书籍编号,书籍名称,是否借出字段。

--(18)查询书籍信息表,按书籍名称降序排序,书名相同按登记日期先后顺序排列

--(19)返回tb_BookInfo(书籍信息表)中的出版社信息(distinct)

--(20)按读者姓名降序显示tb_ReaderInfo(读者信息表)中的信息

--(21)查询tbBookInfo(书籍信息表),按书籍类别(LBBH)统计各类书籍的数量

--(22)统计 tb BookInfo(书籍信息表)中的书籍数量。

--(23)按书籍名称统计各种书籍的数量,并按书籍名称升序排序。

--(24)按出版社统计各个出版社的书籍数量,并显示数量超过100本的出版社名称

--(25)统计人民邮电出版社书籍的数量

--(26)统计2017年4月份借出书籍的数量,并按数量降序排列
 

--查询tb_BookInfo(书籍信息表)中的所有的书籍
--的书籍编号、书籍名称、是否借出字段的信息
SELECT SJBH,SJMC,SFJC 
FROM tb_BookInfo
--查询tb_ReaderInto(读者信息表)中所有读者的信息
SELECT *
FROM tb_ReaderInfo
--使用别名定义的三种方法查询每个读者的编号、姓名和联系电话
SELECT DZBH '编号', DZMC'姓名', LXDH'联系电话'
FROM tb_ReaderInfo;
SELECT DZBH AS'编号', DZMC AS'姓名', LXDH  AS'联系电话'
FROM tb_ReaderInfo;
SELECT  '编号'=DZBH, '姓名'=DZMC ,  '联系电话'=LXDH 
FROM tb_ReaderInfo;
--(4)查询 tb_BookInfo(书籍信息表)中前5条记录的书籍编号、书籍名称。
SELECT TOP 5 SJBH,SJMC
FROM tb_BookInfo
--(5)查询tb_BookInfo(书籍信息表)表中已借出的书籍信息。
SELECT SFJC=1
FROM tb_BookInfo
--(6)查询tb_BookInfo(书籍信息表)中 2017年4月份登记的图书名称和登记日期,
SELECT SJMC,DJRQ
FROM tb_BookInfo
--(7)查询tb_BookInfo(书籍信息表)中人民邮电出版社书籍的信息。
SELECT *
FROM tb_BookInfo
WHERE CBS='人民邮电出版社'
--(8)查询tb_BookInfo(书籍信息表)中2017年4月1日前登记的书籍信息。
SELECT *
FROM tb_BookInfo
WHERE DJRQ<'2017-4-1'
--(9)查询名为《数据库原理与应用》的书籍的基本信息。
SELECT *
FROM tb_BookInfo
WHERE SJMC='数据库原理与应用'
--(10)查询tb_BookType(书籍类别表)中书籍类别为文学类的书籍信息
SELECT *
FROM tb_BookType
WHERE LBMC='文学'
--(11)查询在2017-3-1到2017年4-1之间借出的书籍编号、读者编号。
SELECT SJBH,DZBH
FROM tb_BookInfo,tb_ReaderInfo
WHERE DJRQ  BETWEEN  '2017-3-1' AND' 2017-4-1'
--(12)查询人民邮电大学出版社、上海交通大学出版社的书籍信息。
SELECT *
FROM tb_BookInfo
WHERE CBS='人民邮电大学出版社'OR CBS='上海交通大学出版社'
--(13)查询不是清华大学出版社、大连理工大学出版社出版的书籍信息。
SELECT *
FROM tb_BookInfo
WHERE NOT CBS='清华大学出版社'OR CBS='大连理工大学出版社'
--(14)查询出版社是清华大学出版社并已借出的图书信息。
SELECT *
FROM tb_BookInfo
WHERE CBS='清华大学出版社' AND SFJC=1
--(15)查询tb_ReaderInfo(读者信息表)表中姓“田”的读者。
SELECT DZMC
FROM tb_ReaderInfo
WHERE DZMC LIKE '田%'
--(16)在tbReaderInfo(读者信息表)中找到所有姓名中姓李并且带飞字的读者
SELECT DZMC
FROM tb_ReaderInfo
WHERE DZMC LIKE '李%飞%'
--(17)查询tb_BookInfo(书籍信息表),按书籍名称升序显示书籍编号,书籍名称,是否借出字段。
SELECT SJBH,SJMC,SFJC
FROM tb_BookInfo
ORDER BY SJMC ASC;
--(18)查询书籍信息表,按书籍名称降序排序,书名相同按登记日期先后顺序排列
SELECT *
FROM tb_BookInfo
ORDER BY SJMC DESC,DJRQ ASC
--(19)返回tb_BookInfo(书籍信息表)中的出版社信息(distinct)
SELECT DISTINCT CBS
FROM tb_BookInfo;
--(20)按读者姓名降序显示tb_ReaderInfo(读者信息表)中的信息
SELECT *
FROM tb_ReaderInfo
ORDER BY DZMC DESC
--(21)查询tbBookInfo(书籍信息表),按书籍类别(LBBH)统计各类书籍的数量
SELECT LBBH '书籍类别',count(SFJC) '书籍的数量'
FROM tb_BookInfo 
GROUP BY LBBH
ORDER BY LBBH
--(22)统计 tb BookInfo(书籍信息表)中的书籍数量。
SELECT count(SJBH) AS '书籍总数'
FROM tb_BookInfo
--(23)按书籍名称统计各种书籍的数量,并按书籍名称升序排序。
SELECT SJMC,count(SJMC) AS '数量'
FROM tb_BookInfo 
GROUP BY SJMC 
ORDER BY SJMC asc
--(24)按出版社统计各个出版社的书籍数量,并显示数量超过100本的出版社名称
SELECT CBS,COUNT(SJBH) '数量'
FROM tb_BookInfo 
GROUP BY CBS HAVING COUNT(CBS) > 100
--(25)统计人民邮电出版社书籍的数量
SELECT CBS,	COUNT (SJBH) '数量'
FROM tb_BookInfo 
WHERE CBS='人民邮电出版社' 
--分组,把数量放到一个组里面
GROUP BY CBS 
--(26)统计2017年4月份借出书籍的数量,并按数量降序排列
SELECT JSRQ '借书日期',SJBH'借书编号',COUNT(*)AS '数量'
FROM tb_LentInfo
WHERE JSRQ BETWEEN '2017-04-01'AND '2017-04-30' 
GROUP BY SJBH,JSRQ
ORDER BY '数量' DESC

相关文章:

SQL Serve---查询

概要 1、order by子句 —默认asc&#xff08;升序&#xff09;、desc&#xff08;降序&#xff09; 2、distinct关键字 3、group by子句 4、聚合函数 —max()、min()、sum()、avg()、count() 5、having子句 6、compute子句 英文关键字 order by 排序 asc…...

RabbitMQ3.13.x之十一_RabbitMQ中修改用户密码及角色tags

RabbitMQ3.13.x之十一_RabbitMQ中修改用户密码及角色tgs 文章目录 RabbitMQ3.13.x之十一_RabbitMQ中修改用户密码及角色tgs1. 修改用户的密码1. 修改密码语法2. 修改案例 2.修改角色tags1. 修改标签(tags)语法2. 修改案例 可以使用 RabbitMQ 的命令行工具 rabbitmqctl 来修改用…...

Taro打包生成不同目录

使用taro init创建taro项目时&#xff0c;taro默认打包目录是&#xff1a; /config/index.js outputRoot:dist默认的目录&#xff0c;编译不同平台代码时就会覆盖掉&#xff0c;为了达到多端同步调试的目的&#xff0c;这时需要修改默认生成目录了&#xff0c;通过查看官方文…...

2024-04-08 NO.5 Quest3 手势追踪进行 UI 交互

文章目录 1 玩家配置2 物体配置3 添加视觉效果4 添加文字5 其他操作5.1 双面渲染5.2 替换图片 ​ 在开始操作前&#xff0c;我们导入先前配置好的预制体 MyOVRCameraRig&#xff0c;相关介绍在 《2024-04-03 NO.4 Quest3 手势追踪抓取物体-CSDN博客》 文章中。 1 玩家配置 &a…...

PaddleDetection 项目使用说明

PaddleDetection 项目使用说明 PaddleDetection 项目使用说明数据集处理相关模块环境搭建 PaddleDetection 项目使用说明 https://github.com/PaddlePaddle/PaddleDetection/blob/release/2.7/configs/ppyoloe/README_cn.md 自己项目&#xff1a; https://download.csdn.net/d…...

leetcode解题思路分析(一百五十五)1352 - 1358 题

最后 K 个数的乘积 请你实现一个「数字乘积类」ProductOfNumbers&#xff0c;要求支持下述两种方法&#xff1a; add(int num) 将数字 num 添加到当前数字列表的最后面。 getProduct(int k) 返回当前数字列表中&#xff0c;最后 k 个数字的乘积。 你可以假设当前列表中始终 至少…...

如何将普通maven项目转为maven-web项目

文件-项目结构&#xff08;File-->Project Structure &#xff09; 模块-->learn&#xff08;moudle-->learn&#xff09; 选中需要添加web的moudle&#xff0c;点击加号&#xff0c;我得是learn&#xff0c;单击选中后进行下如图操作&#xff1a; 编辑路径 结果如下…...

LeetCode 226. 翻转二叉树

给你一棵二叉树的根节点 root &#xff0c;翻转这棵二叉树&#xff0c;并返回其根节点。 示例 1&#xff1a; 输入&#xff1a;root [4,2,7,1,3,6,9] 输出&#xff1a;[4,7,2,9,6,3,1] 示例 2&#xff1a; 输入&#xff1a;root [2,1,3] 输出&#xff1a;[2,3,1] 示例…...

【ArcGIS Pro二次开发】(85):Aspose.Cells中的Excel操作

Aspose.Cells是一款功能强大的Excel文档处理和转换控件&#xff0c;开发人员和客户电脑无需安装Microsoft Excel也能在应用程序中实现类似Excel的强大数据管理功能。 1、获取工作薄Workbook string excelFile "C:\Users\Administrator\Desktop\FE.xlsx"; Workbook …...

基于java+springboot+vue实现的兴顺物流管理系统(文末源码+Lw)23-287

摘 要 传统信息的管理大部分依赖于管理人员的手工登记与管理&#xff0c;然而&#xff0c;随着近些年信息技术的迅猛发展&#xff0c;让许多比较老套的信息管理模式进行了更新迭代&#xff0c;货运信息因为其管理内容繁杂&#xff0c;管理数量繁多导致手工进行处理不能满足广…...

pytorch view、expand、transpose、permute、reshape、repeat、repeat_interleave

非contiguous操作 There are a few operations on Tensors in PyTorch that do not change the contents of a tensor, but change the way the data is organized. These operations include: narrow(), view(), expand() and transpose() permute() This is where the con…...

uni-app实现下拉刷新

业务逻辑如下&#xff1a; 1.在滚动容器中加入refresher-enabled属性&#xff0c;表示为开启下拉刷新 2.监听事件&#xff0c;添加refresherrefresh事件 3.在事件监听函数中加载数据 4.关闭动画&#xff0c;添加refresher-triggered属性&#xff0c;在数据请求前开启刷新动画…...

vue ts 应用梳理

文章目录 前言一、页面传值1.1 [props](https://cn.vuejs.org/guide/components/props.html)1.2 [emit](https://cn.vuejs.org/guide/components/events.html)1.3 [store](https://pinia.vuejs.org/zh/getting-started.html) 二、实时计算2.1 [watch](https://cn.vuejs.org/gui…...

CUDA12.4文档-全文翻译

本博客参考官方文档进行介绍,全网仅此一家进行中文翻译,走过路过不要错过。 官方网址:https://docs.nvidia.com/cuda/cuda-c-programming-guide/ 本文档分成多个博客进行介绍,在本人专栏中含有所有内容: https://blog.csdn.net/qq_33345365/category_12610860.html CU…...

【C 数据结构】循环链表

文章目录 【 1. 基本原理 】【 2. 循环链表的创建 】2.1 循环链表结点设计2.2 循环单链表初始化 【 3. 循环链表的 插入 】【 4. 循环单链表的 删除操作 】【 5. 循环单链表的遍历 】【 6. 实例 - 循环链表的 增删查改 】【 7. 双向循环链表 】 【 1. 基本原理 】 对于单链表以…...

Python列表

使用场景&#xff1a;列表是用来存储多组数据的 列表是可变类型 列表支持切片 1.基本规则 1.列表使用[]来表示 2.初始化列表&#xff1a;list [] 3.列表可以一次性存储多个数据&#xff1a;[数据1&#xff0c;数据2&#xff0c;数据3&#xff0c;…] 4.列表中的每一项&#…...

谈谈系列之金融直播展业畅想

近些年直播异常火热&#xff0c;对于各大中小型基金证券公司&#xff0c;也纷纷引入直播作为新型展业渠道。在这其中有一部分直接采用第三方云平台&#xff0c;也有少部分选择自建直播平台。当然自建直播平台也不是纯自研&#xff0c;大抵都是外购第三方厂商整体解决方案&#…...

【C 数据结构】双向链表

文章目录 【 1. 基本原理 】【 2. 双向链表的 创建 】实例 - 输出双向链表 【 3. 双向链表 添加节点 】【 4. 双向链表 删除节点 】【 5. 双向链表查找节点 】【 7. 双向链表更改节点 】【 8. 实例 - 双向链表的 增删查改 】 【 1. 基本原理 】 表中各节点中都只包含一个指针&…...

Leetcode刷题之消失的数字(C语言版)

Leetcode刷题之消失的数字&#xff08;C语言版&#xff09; 一、题目描述二、题目解析 一、题目描述 数组nums包含从0到n的所有整数&#xff0c;但其中缺了一个。请编写代码找出那个缺失的整数。你有办法在O(n)时间内完成吗&#xff1f; 注意&#xff1a;本题相对书上原题稍作…...

LeetCode654:最大二叉树

题目描述 给定一个不重复的整数数组 nums 。 最大二叉树 可以用下面的算法从 nums 递归地构建: 创建一个根节点&#xff0c;其值为 nums 中的最大值。 递归地在最大值 左边 的 子数组前缀上 构建左子树。 递归地在最大值 右边 的 子数组后缀上 构建右子树。 返回 nums 构建的 …...

Perplexity×NEJM文献交叉验证协议(NIH资助项目内部文档首次公开:含4层可信度打分矩阵与人工校验SOP)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;PerplexityNEJM文献交叉验证协议的起源与战略意义 PerplexityNEJM文献交叉验证协议并非传统意义上的软件接口规范&#xff0c;而是一种面向临床研究可信度增强的元认知对齐框架。其诞生源于2023年大型语…...

2026测绘、遥感、地信三大专业就业现状对比

01测绘测绘目前的情况是易就业&#xff0c;劳动密集但薪酬不高&#xff0c;且比较辛苦。招聘网站上测绘的岗位一搜一大把&#xff1a;测绘实习岗位也非常多&#xff1a;但是大部分测绘岗位没有递进式积累。很多岗位会呈现一个类似下面公式的发展路线图&#xff1a;”助理--XX师…...

5步实现Cursor Pro永久免费:终极破解工具完整指南

5步实现Cursor Pro永久免费&#xff1a;终极破解工具完整指南 【免费下载链接】cursor-free-vip [Support 0.45]&#xff08;Multi Language 多语言&#xff09;自动注册 Cursor Ai &#xff0c;自动重置机器ID &#xff0c; 免费升级使用Pro 功能: Youve reached your trial r…...

ClawDrive:为AI智能体设计的语义文件管理与跨模态检索系统

1. 项目概述&#xff1a;ClawDrive&#xff0c;为AI智能体打造的“语义硬盘” 如果你和我一样&#xff0c;每天被海量的文档、图片、音频和视频文件淹没&#xff0c;传统的文件夹分类和文件名搜索早已力不从心。更头疼的是&#xff0c;当你尝试让AI助手&#xff08;比如Claude…...

Illustrator脚本革命:7个必备工具彻底改变你的设计工作流

Illustrator脚本革命&#xff1a;7个必备工具彻底改变你的设计工作流 【免费下载链接】illustrator-scripts Adobe Illustrator scripts 项目地址: https://gitcode.com/gh_mirrors/il/illustrator-scripts 你是否还在Adobe Illustrator中重复着枯燥的手工操作&#xff…...

别再为答辩 PPT 秃头了!PaperXie 的 AI PPT 功能,让你把时间花在更重要的地方

paperxie-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AI PPThttps://www.paperxie.cn/ppt/createhttps://www.paperxie.cn/ppt/create 距离毕业论文答辩只剩半个月&#xff0c;你的 PPT 还停留在 “空白文档” 阶段吗&#xff1f; 我见过太多同学在这个阶段陷…...

用Arduino UNO和L298N驱动板,手把手教你让麦轮小车原地画个‘8’字(附完整代码)

用Arduino UNO和L298N驱动板实现麦轮小车8字轨迹编程实战 想让你的麦克纳姆轮小车跳出机械舞步吗&#xff1f;一个完美的"8"字轨迹不仅能展示麦轮的全向移动特性&#xff0c;更是检验运动控制算法的绝佳试金石。作为已经完成基础搭建的Arduino玩家&#xff0c;这个项…...

用Wireshark抓包分析Powerlink协议:从数据帧看懂主站轮询与从站响应

Wireshark实战&#xff1a;深度解析Powerlink协议的主从站通信机制 工业以太网协议Powerlink凭借其确定性实时通信能力&#xff0c;在自动化控制领域占据重要地位。本文将带您通过Wireshark抓包分析&#xff0c;揭开Powerlink主站轮询与从站响应的核心机制。不同于基础配置教程…...

告别手动拷贝!用Qt Creator远程调试嵌入式Linux应用(保姆级配置流程)

告别手动拷贝&#xff01;用Qt Creator远程调试嵌入式Linux应用&#xff08;保姆级配置流程&#xff09; 嵌入式开发中&#xff0c;最令人头疼的莫过于反复的"编译-拷贝-运行/调试"循环。每次修改代码后&#xff0c;都需要手动将可执行文件拷贝到开发板&#xff0c;再…...

《jEasyUI 取得选中行数据》

《jEasyUI 取得选中行数据》 引言 jEasyUI 是一个基于 jQuery 的易于使用的开源 UI 库&#xff0c;它为网页开发者提供了丰富的 UI 组件&#xff0c;如表格、表单、菜单、对话框等。在 jEasyUI 的众多组件中&#xff0c;表格组件&#xff08;Datagrid&#xff09;是使用频率非常…...