SQL查询语句大全(个人总结) |
您所在的位置:网站首页 › sql查询主要包括哪些查询 › SQL查询语句大全(个人总结) |
文章目录
前言之前的总结SelectSelect+聚合函数总数最大值最小值求和平均值
Select+case...when...then语句select+top
from(表)+连接查询from+inner joinfrom+left joinfrom+right join
Where(条件语句查询)比较运算符模糊查询范围查询空判断优先级
group by(分组)group by+聚合函数group by+having
Order by(排序)
前言
在一级项目组时,监控服务器的同时,总结了一下SQL关于查询的语句,希望能给大家带来一些帮助 推荐两个博客,下面借鉴了这两个 菜鸟教程 网上大佬的 之前的总结
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显示情况: top:取表中前多少的数据 例1.取出表中第几行数据(如第一行) select top 1 * from StudentBindPaperTypeEntity例2.取出表中百分之多少数据 select top 50 percent * from StudentBindPaperTypeEntity from(表)+连接查询连接查询 内连接:Inner join左连接:Left join右连接:Right join例子中涉及的表 StudentInfoEntity:全校学生的信息ScoreEntity:学生考试的成绩(并不全包含全校学生) from+inner join
显示结果
显示结果:(个别)
现在两个表换了位置,结果是一样的 例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 nullis 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显示结果: 例2.查出各个学院参加考试的人数 select CollegeID, count(StudentID) from StudentBindPaperTypeEntity group by CollegeID显示结果: having的作用跟where子句功能一样,只不过having只用在group by 例3.查出学院ID大于10的学院 select CollegeID from StudentBindPaperTypeEntity group by CollegeID having CollegeID>10显示结果: 排序查询语法: select * from 表名 order by 列1 asc|desc [,列2 asc|desc,...] 如果列1的值相同,则按照列2排序,以此类推asc从小到大desc从大到小例1.根据学院分组ID降序(desc) select CollegeID from StudentBindPaperTypeEntity group by CollegeID order by CollegeID desc
|
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |