当前位置:网站首页>SQL--数据的过滤和分组
SQL--数据的过滤和分组
2022-04-21 06:19:00 【林木木吖】
过滤数据
Distinct 直接跟在select后面,后面跟一个或多个字段,从结果集中删除列中的重复值。达到一个列或多个列的去重复作用。将所有null值视为相同的值
语法:
Select distinct 字段 from 表名
注:null的查询方法比较特殊 为空is null 不为空is not null
Where指定搜索条件以过滤from返回的行。仅返回导致搜索条件计算为true的行。
And查询满足两个条件的行,用于组合两个布尔表达式。要两个条件同时为真才能返回数据
(>,=<)比较运算符
Or查找满足任意一个条件的行
当and和or一起连用的时候对数据的筛选是有影响的,and的优先级比or的大。所以先查询and再查询or
例:select * from sc
where cno='c001' or
cno='c002' and score >80
;

Between查询两个值之间的值的行,主要用于做两个数字之间的查询也可以用于两个日期之间的查询。
语法:字段 between 数值 and 数值
例:select * from student
where sage between 21 and 22
;

可以使用大于或等于且小于或等于来替换between运算符
语法:字段 <= 数值 and 字段 >=数值
例:select * from student
where sage <=22 and sage >= 21
;

in查找值列表中具有值的行,可以把多个on连在一起的条件简化成in
语法:column IN (v1, v2, v3)
column = v1 OR column = v2 OR column = v3
注:v1、v2指的是一些具体的值。数字类型不需要写单引号,字符串类型就要写单引号
例:select * from student
where sage in (21,22)
;

like查找包指定含字符串的行(模糊查询)
注:英文字母在数据库中不区分大小写
通配符
%:表示0个或多个字符的字符串
下划线:表示任意单个字符
[ ]:表示指定集合中的任意单个字符串
[ - ]:表示指定范围内的单个字符
[^]:表示不再列表或范围内的任何单个字符
like模糊查询默认是不区分大小写的
例:select * from student
where sname like '陈%'
;

列和表的别名
用于为表或表中的列提供临时名称,只在运行时生效,简化SQL的可读性
语法:
表::Select 列名 from 表名 AS 别名
列:Select 列名 AS 别名 from 表名
注:AS关键字可以省略
分组数据
Group by 根据by指定的规则对数据进行分组,分组就是将一个“数据集”划分成若干个“小区域”进行数据处理
Count()是一个聚合函数。计数,记某一个组有多少行数据。
Count(*)表示对整个表进行计数,每一行做了一个分组
例:select ssex, count(*)
from student
group by ssex;

聚合函数:sum()、AVG()、min()、max()。
字段要放在聚合函数中或group by中,group by后面的字段可以比上面的字段多
上面的字段不会影响总行数,只会影响显示出来的列有哪些字段
Having通常与group by一起使用,跟在group by的后面
无名列:就是没有命名的列,最好给它命名,因为它有可能在查询中报错。如果在子查询中做了一些聚合函数,那么你在用这些列的时候就会报错。
过滤列不能用上面列的命名代替
结果时分组之后的运算,分组之后把计算出来的列赋予了它一个名称,但是分组和过滤要先运行
例:select sno,sum(score)总成绩 from sc
group by sno
having sum(score)>150
;

版权声明
本文为[林木木吖]所创,转载请带上原文链接,感谢
https://blog.csdn.net/weixin_57727548/article/details/123782179
边栏推荐
猜你喜欢
随机推荐
Write tweets for one year and share five commonly used writing software
3. 事务和视图
解决replace遍历循环调用,导致后续的replace替换掉前面replace的数据的问题
异步RPC的三种方式:异步调用,异步监听,callback调用
Program download and data extraction using JLINK command line
Sql 按照指定内容排序
手势识别调研
Swagger2生成Api文档
3-1.pod控制器
Flash frame 1 foundation installation
【STM32】H743的25MHZ外部晶振下480MHz时钟的CubeMX配置图
Pm2 部署 Nuxt 相关命令
Learn SCI paper drawing skills (b)
Learn SCI paper drawing skills (a)
Curl command
毕业设计,课程环节学生成绩评价系统
2020牛客暑期多校训练营第二场 I Interval题解
R language drawing | drawing mixed density function diagram and adding quantile line
TP下载文件夹,压缩文件夹并下载
【ThreadX】ThreadX源码阅读计划(一)








