当前位置: 首页 > 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 构建的 …...

云原生核心技术 (7/12): K8s 核心概念白话解读(上):Pod 和 Deployment 究竟是什么?

大家好&#xff0c;欢迎来到《云原生核心技术》系列的第七篇&#xff01; 在上一篇&#xff0c;我们成功地使用 Minikube 或 kind 在自己的电脑上搭建起了一个迷你但功能完备的 Kubernetes 集群。现在&#xff0c;我们就像一个拥有了一块崭新数字土地的农场主&#xff0c;是时…...

零门槛NAS搭建:WinNAS如何让普通电脑秒变私有云?

一、核心优势&#xff1a;专为Windows用户设计的极简NAS WinNAS由深圳耘想存储科技开发&#xff0c;是一款收费低廉但功能全面的Windows NAS工具&#xff0c;主打“无学习成本部署” 。与其他NAS软件相比&#xff0c;其优势在于&#xff1a; 无需硬件改造&#xff1a;将任意W…...

云计算——弹性云计算器(ECS)

弹性云服务器&#xff1a;ECS 概述 云计算重构了ICT系统&#xff0c;云计算平台厂商推出使得厂家能够主要关注应用管理而非平台管理的云平台&#xff0c;包含如下主要概念。 ECS&#xff08;Elastic Cloud Server&#xff09;&#xff1a;即弹性云服务器&#xff0c;是云计算…...

《Playwright:微软的自动化测试工具详解》

Playwright 简介:声明内容来自网络&#xff0c;将内容拼接整理出来的文档 Playwright 是微软开发的自动化测试工具&#xff0c;支持 Chrome、Firefox、Safari 等主流浏览器&#xff0c;提供多语言 API&#xff08;Python、JavaScript、Java、.NET&#xff09;。它的特点包括&a…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

srs linux

下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935&#xff0c;SRS管理页面端口是8080&#xff0c;可…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

智能AI电话机器人系统的识别能力现状与发展水平

一、引言 随着人工智能技术的飞速发展&#xff0c;AI电话机器人系统已经从简单的自动应答工具演变为具备复杂交互能力的智能助手。这类系统结合了语音识别、自然语言处理、情感计算和机器学习等多项前沿技术&#xff0c;在客户服务、营销推广、信息查询等领域发挥着越来越重要…...

深度学习水论文:mamba+图像增强

&#x1f9c0;当前视觉领域对高效长序列建模需求激增&#xff0c;对Mamba图像增强这方向的研究自然也逐渐火热。原因在于其高效长程建模&#xff0c;以及动态计算优势&#xff0c;在图像质量提升和细节恢复方面有难以替代的作用。 &#x1f9c0;因此短时间内&#xff0c;就有不…...