目录

前言

之前的总结

SelectSelect+聚合函数

总数

最大值

最小值

求和

平均值

Select+case…when…then语句

​select+top

from(表)+连接查询

from+inner join

from+left join

from+right join

Where(条件语句查询)

比较运算符

模糊查询

范围查询

空判断

优先级

group by(分组)

​group by+聚合函数

group by+having

Order by(排序)


前言

在一级项目组时,监控服务器的同时,总结了一下SQL关于查询的语句,希望能给大家带来一些帮助
推荐两个博客,下面借鉴了这两个
菜鸟教程
网上大佬的

之前的总结

这次在之前的基础上扩展一些内容,分别在字句的后面扩展更多的表达式或者函数。

下面会用到一级中具体某个表,会有说明

Select
Select+聚合函数

总数

count(*)表示计算总行数,括号中写星与列名,结果相同
例1.查询登录系统学总数

select count(*) from StudentBindPaperTypeEntity

最大值

max(列)求此列的最大值
例2.求下表的最大编号

select max(StudentID) from StudentBindPaperTypeEntity

最小值

min(列)求此列的最小值
例3.求下表编号最小编号

select min(StudentID) from StudentBindPaperTypeEntity

求和

sum(列)求此列之和(注:sum运算符与数字类型连用)
例4.查询当前在线的学生(IsUse=0表示未在线,1表示在线)

select SUM(IsUse) from StudentBindPaperTypeEntity

平均值

avg(列) 表示求此列的平均值(注:avg运算符与数字类型连用)
例5:查询学生编号的平均数

select avg(StudentID) from StudentBindPaperTypeEntity

Select+case…when…then语句

case…when…then语句,相当于编程语言中if判断
例1根据IsUser字段查询学生是否在线

select a.StudentID,(case a.IsUse when '0' then '未在线' when '1' then '在线' else '未上传' end) as 在线情况
from StudentBindPaperTypeEntity as a

显示情况:


select+top

top:取表中前多少的数据

例1.取出表中第几行数据(如第一行)

select top 1 * from StudentBindPaperTypeEntity

例2.取出表中百分之多少数据

select top 50 percent * from StudentBindPaperTypeEntity

from(表)+连接查询

连接查询

1.内连接:Inner join
2.左连接:Left join
3.右连接:Right join

例子中涉及的表

StudentInfoEntity:全校学生的信息
ScoreEntity:学生考试的成绩(并不全包含全校学生)

from+inner join

例1.查出这两个表中共有的信息(as为表的别名,方便)

select score.studentID,score.score,s.CollegeID,s.major,s.majorClass
from ScoreEntity as score inner join StudentInfoEntity as s on score.studentID=s.studentID
where score.CollegeID=02

显示结果

from+left join

左外连接:左表的值会全部显示出来,右表的值显示on条件搜索的的结果,搜索不到为NULL
例1两个表作左外连接

select score.studentID,score.score,s.CollegeID,s.major,s.majorClass
from  StudentInfoEntity as s left join ScoreEntity as score on s.studentID=score.studentID 

显示结果:(个别)

from+right join

右外连接与左外连接相反(右表的值全部显示出来)
例1两个表做右外连接

select score.studentID,score.score,s.CollegeID,s.major,s.majorClass
from  ScoreEntity as score  right join StudentInfoEntity as s on s.studentID=score.studentID

现在两个表换了位置,结果是一样的

Where(条件语句查询)

比较运算符

例1.查询学号>18832650890的学生

select * from StudentBindPaperTypeEntity where StudentID>18832650890

例2.查询学号!=18832650890的学生(<>同效)

select * from StudentBindPaperTypeEntity where StudentID!=18832650890

模糊查询

like
%表示任意多个字符
例1.查询1月8号考试的学生

select * from StudentBindPaperTypeEntity where TimeTamp like '2020-01-08%'

例2.查询不是1月8号考试的学生

select * from StudentBindPaperTypeEntity where TimeTamp not like '2020-01-08%'

范围查询

in关键字为非连续查询
例1.查询两个不相邻的学号的学生

select * from StudentBindPaperTypeEntity where StudentID in('19100142001','19100142006')

Between…and…为连续查询(注:sql软件情况不一样,可能不包含and后的值)
例2.查询两个学号之间的学生

select * from StudentBindPaperTypeEntity where StudentID Between 19100142001 and 19100142006

空判断

is null判断为空
例1.查询没有试卷的学生

select * from StudentBindPaperTypeEntity where PaperType is null

is not null 判断非空
例2.查询有试卷的学生

select * from StudentBindPaperTypeEntity where PaperType is not null

优先级

优先级由高到低的顺序为:小括号,not,比较运算符,逻辑运算符
and比or先运算,如果同时出现并希望先算or,需要结合()使用

group by(分组)

作用:将字段间一对多的关系,向一的方向靠拢分组
例1.查出参加考试有几个学院

select CollegeID  from StudentBindPaperTypeEntity group by CollegeID

显示结果:


group by+聚合函数

例2.查出各个学院参加考试的人数

select CollegeID, count(StudentID) from StudentBindPaperTypeEntity group by CollegeID

显示结果:

其实group by + 聚合函数是从group by + group_concat()演变过来的,SqlServer不支持这个函数

group by+having

having的作用跟where子句功能一样,只不过having只用在group by
例3.查出学院ID大于10的学院

select CollegeID  from StudentBindPaperTypeEntity group by CollegeID having CollegeID>10

显示结果:

Order by(排序)

排序查询语法:

 select * from 表名 order by 列1 asc|desc [,列2 asc|desc,...]

如果列1的值相同,则按照列2排序,以此类推
1.asc从小到大
2.desc从大到小
例1.根据学院分组ID降序(desc)

select CollegeID  from StudentBindPaperTypeEntity group by CollegeID order by CollegeID desc

例2.将上表升序(asc)

select CollegeID  from StudentBindPaperTypeEntity group by CollegeID order by CollegeID asc

————————————————
版权声明:本文为CSDN博主「商俊帅」的原创文章,遵循CC 4.0 BY-SA版权协议
原文链接:https://blog.csdn.net/shang_0122/article/details/103964475

SQL查询语句大全(大佬总结,必看)相关推荐

  1. orcal SQL查询语句大全集锦

    orcal   SQL查询语句大全集锦 一. 简单查询   简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的 表或视图.以及搜索条件等. 例 ...

  2. SQL查询语句大全(转)

    转自https://www.cnblogs.com/chenglc/p/8421492.html 重点参考https://blog.csdn.net/g1418377085/article/detai ...

  3. (转)经典SQL查询语句大全

    一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除数据库 drop database dbname 3.说明:备份sql server --- ...

  4. WordPress 常用数据库SQL查询语句大全

    https://www.wpdaxue.com/wordpress-sql.html 在使用WordPress的过程中,我们少不了要对数据库进行修改操作,比如,更换域名.修改附件目录.批量修改文章内容 ...

  5. SQL查询语句大全集锦(一)

    一. 简单查询 简单的Transact-SQL查询只包括选择列表.FROM子句和WHERE子句.它们分别说明所查询列.查询的 表或视图.以及搜索条件等. 例如,下面的语句查询testtable表中姓名 ...

  6. oracle查询耗资源的进程,常用Oracle进程资源查询语句(运维必看)

    (一)根据程序名称查找相关信息 select A.process,B.spid,A.sid,A.serial#,A.sql_address,A.username,A.program,A.status, ...

  7. mysql的查询语句大全_sql语句(sql数据库查询语句大全)

    sql语句 结构化查询语言(StructuredQueryLanguage)缩写为SQL.结构化查询语言是一种数据库查询和编程语言,用于访问数据以及查询,更新和管理关系数据库系统: 程序功能 创建数据 ...

  8. 经典的数据库查询语句大全

    (转)经典SQL查询语句大全 (2011-05-25 21:49:10)转载▼ 标签: 杂谈 一.基础 1.说明:创建数据库 CREATE DATABASE database-name 2.说明:删除 ...

  9. 网上搜集的MySQL查询语句大全集锦(经典珍藏)

    原文地址为: 网上搜集的MySQL查询语句大全集锦(经典珍藏) SQL查询语句大全集锦 MYSQL查询语句大全集锦 1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW ...

  10. SQL 分页查询语句大全即(查找第N到M条记录的方法)

    SQL 分页查询语句大全即(查找第N到M条记录的方法) 第一种方法,我的原创方法 row=2 表示分页行数 page=1 表示页码 getnum=row*page select * from  (se ...

最新文章

  1. 热门的模型跨界,Transformer、GPT做CV任务一文大盘点
  2. 唯品会在 Flink 容器化与平台化上的建设实践
  3. dependency报红_解决IDEA中Maven依赖包导入失败报红问题(总结最有效8种解决方案)...
  4. ADO.NET改进防注入
  5. java高级----Thread之CyclicBarrier的使用
  6. 跨平台屏幕/摄像头RTMP推流模块设计要点
  7. 网盘中搭建git服务
  8. java中文件选择器JFileChooser的用法
  9. java运行 mavenzip包_JAVA开发必知工具-Maven-Maven生成可以直接运行的jar包的多种方式...
  10. $_SERVER[HTTP_HOST]和$_SERVER[SERVER_NAME]
  11. 微信小程序 webview 传递URL中含有特殊字符-,=
  12. WIN2008R2激活工具
  13. 一键删除越狱环境方法教程,uncOvre4.0.2发布了
  14. 使用Python批量抓取单词发音
  15. matplotlib—画正弦、余弦函数图
  16. leetcode--石子游戏
  17. 编译可在Android上运行的依赖库(二):gettext库
  18. 驱动开发思路以及应用程序与驱动程序的区别
  19. openssl给内网IP生成ca证书(ssl证书)
  20. Python爬虫之Scrapy框架爬虫实战

热门文章

  1. windows10系统精简:NTlite工具
  2. 水准网测量平差matlab_基于MATLAB的测量平差计算
  3. ffmpeg h264 h265 视频格式操作
  4. 线性代数 行列式 矩阵 教材笔记
  5. 用友/U8+V16.0修改单据时,其他入库单其他出库单无保质期信息且置灰无法输入/修改
  6. SCSI 设备热插拔
  7. H3CSE路由-配置OSPF高级
  8. HFS 2.3x 远程命令执行(抓鸡黑客末日)
  9. NCC2105关于分管领导审批流设置另一方法
  10. 2021-02-09 MATLAB 中计算 阶乘的函数