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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/808459.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【无标题】nodejs+mogoodb数据库写注册接口

描述 本篇文章主要记录使用nodejs express搭建服务器&#xff0c;并链接mogoodb数据来书写简单的后台接口&#xff1b;前端项目使用的vue2的一个酒店管理项目。阅读本文章&#xff0c;可以了解如何连接mogoodb数据库&#xff0c;和一些对数据库进行操作的命令。前端如何进行跨…

二分查找-图文详解,看不懂你来打我。。。

一、查找算法 在计算机科学和算法领域&#xff0c;搜索是一项基本的任务。在海量数据中寻找特定的元素是一项常见的任务&#xff0c;而二分查找&#xff08;Binary Search&#xff09;是一种非常高效的搜索算法&#xff0c;特别适用于有序数组。 二、二分查找 二分查找是一种…

Java日期正则表达式(附Demo)

目录 前言1. 基本知识2. Demo 前言 对于正则匹配&#xff0c;在项目实战中运用比较广泛 原先写过一版Python相关的&#xff1a;ip和端口号的正则表达式 1. 基本知识 对于日期的正则相对比较简单 以下是一些常见的日期格式及其对应的正则表达式示例&#xff1a; 年-月-日&a…

React复习全攻略:浅尝Redux的全局滋味

是什么? Redux 是一个使用叫做 “action” 的事件来管理和更新应用状态的模式和工具库 提供全局状态数据的单一仓库&#xff08;对象树&#xff09;&#xff0c;管理应用的全局状态单一数据源&#xff0c;状态只读&#xff0c;状态修改只由纯函数完成 为什么用&#xff08;特点…

关于游戏当中击退/击飞效果的制作

关于游戏当中击退/击飞效果的制作 在游戏当中我们免不了会有一些炫酷的效果&#xff0c;特别是RPG游戏&#xff0c;比如放一个技能&#xff0c;直接大范围杀伤&#xff0c;然后把敌人全部击飞或者击退&#xff0c;那效果真的很舒服。把自己想象成武林高手&#xff0c;一套江湖…

常用的深度学习自动标注软件

0. 简介 自动标注软件是一个非常节省人力资源的操作&#xff0c;而随着深度学习的发展&#xff0c;这些自动化标定软件也越来越多。本文章将会着重介绍其中比较经典的自动标注软件 1. AutoLabelImg AutoLabelImg 除了labelimg的初始功能外&#xff0c;额外包含十多种辅助标注…

五、书架开发--1.书架标题组件交互、获取书架数据

添加书架页面&#xff0c;做路由配置 首先添加书架页面&#xff0c;到views中的store中添加一个StoreShelf表示书架 然后到路由中进行注册 然后书城首页的返回键我们是想要点击返回的话就跳转到书架页面&#xff0c;所以如下this.$router.push(/store/shelf) 做书架标题组件 …

d3dcompiler_47.dll文件的缺失问题要怎么解决?四种修复d3dcompiler_47.dll的方法

d3dcompiler_47.dll文件的丢失&#xff0c;其实还是比较少见的&#xff0c;毕竟这个dll文件相对来说还是比较稳定的&#xff0c;他是一个固定软件的一个功能dll文件&#xff0c;不过既然这个d3dcompiler_47.dll丢失了&#xff0c;今天我们就来给大家详细的说一说吧。 一.d3dcom…

“人工智能+数字人”,让数字技术赋能多领域智能化管理、数字化服务

AI数字人结合了语音合成、语音识别、语义理解、图像处理、虚拟形象驱动等多项AI核心技术&#xff0c;可以实现导览服务、信息播报、互动交流、业务咨询等智能化功能。 如今&#xff0c;AI数字人逐渐被政务、文旅、展馆展厅、博物馆、数字会议、金融、校园等等领域多元化应用&am…

猝不及防 CCF-B ICPP 2024投稿延期至4月22日提交摘要 机会来了别错过

会议之眼 快讯 第53届ICPP&#xff08;International Conference on Parallel Processing&#xff09;即国际并行处理会议将于 2024年 8月12日-15日在瑞典哥特兰岛举行&#xff01;ICPP是世界上最古老的连续举办的并行计算计算机科学会议之一。它是学术界、工业界和政府的研究…

git修改本地提交历史邮箱地址

1、Git&#xff08;Git&#xff09; 2、修改Git本地提交历史中的邮箱地址 使用 git rebase 命令进行交互式重置。 具体步骤如下&#xff1a;&#xff08;https://git-scm.com/docs/git-rebase&#xff09; 1、查看提交历史&#xff1a; 使用 git log 命令列出提交历史&#x…

fs.1.10 ON CENTOS7 dockerfile模式

概述 freeswitch是一款简单好用的VOIP开源软交换平台。 centos7 docker上编译安装fs.1.10的流程记录&#xff0c;本文使用dockerfile模式。 环境 docker engine&#xff1a;Version 24.0.6 centos docker&#xff1a;7 freeswitch&#xff1a;v1.10.7 dockerfile 创建空…

4月11号总结

java学习 一.io流 简介&#xff1a;io&#xff0c;i代表in&#xff0c;指的是输入&#xff0c;o代表输出。io流是用于处理输入和输出数据的机制。Java的io流主要分为字节流和字符流两种类型。这些流可以用于读取和写入不同类型的数据&#xff0c;如文本&#xff0c;图片&#…

【洛谷】P1216 数字三角形

import java.io.IOException; import java.util.Scanner;public class P1216_数字三角形_DP_原版 {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int[][] dp new int[n 1][n 1];int t;for (int i 1; i < n; i) {fo…

Ollama教程——兼容OpenAI API:高效利用兼容OpenAI的API进行AI项目开发

相关文章: Ollama教程——入门&#xff1a;开启本地大型语言模型开发之旅 Ollama教程——模型&#xff1a;如何将模型高效导入到ollama框架 Ollama教程——兼容OpenAI API&#xff1a;高效利用兼容OpenAI的API进行AI项目开发 Ollama教程——兼容OpenAI API&#xff1a;高效利用…

推荐一个大学生可以参加的榜单赛事|人工智能赛道

【榜单赛事】第十四届全国大学生计算机应用能力与数字素养大赛 - 人工智能产业应用赛道人工智能编程赛项 正在火热报名中 本赛道定位于人工智能产业应用和实践&#xff0c;把人工智能产业真实的技能要求、能力要求体现在竞赛内容设计当中&#xff0c;并在竞赛环节融入实战项目…

软考121-上午题-【软件工程】-敏捷方法

一、敏捷方法 敏捷开发的总体目标是通过“尽可能早地、持续地对有价值的软件的交付”使客户满意。通过在软件开发过程中加入灵活性&#xff0c;敏捷方法使用户能够在开发周期的后期增加或改变需求。 敏捷过程的典型方法有很多&#xff0c;每一种方法基于一套原则&#xff0c;这…

阻塞队列和基本实现

1. 什么是阻塞队列 阻塞队列,从名字上看,它首先应该是一个队列,满足先进先出的原则.其次,我们来理解一下"阻塞"这个词.我们之前其实见过这个词,在介绍线程的状态时,我们讲过有一种状态就是阻塞状态.所谓的"阻塞",也就是一种等待,需要其他的线程进行唤醒,在…

跟TED演讲学英文:The next grand challenge for AI by Jim Fan

The next grand challenge for AI Link: https://www.ted.com/talks/jim_fan_the_next_grand_challenge_for_ai? Speaker: Jim Fan Date: October 2023 文章目录 The next grand challenge for AIIntroductionVocabularyTranscriptSummary后记 Introduction Researcher Jim…

Terraform 语法配置

配置语法 Terraform 的配置文件都是以 .tf 为后缀Terraform 支持两种模式 HCL、JSON Provider 插件 providers 地址&#xff1a;Terraform Registry Terraform 通过 provider 管理基础设施&#xff0c;使用 provider 与云供应商 API 进行交互&#xff0c;每个 Provider 都包含…