SQL聚集函数
聚集函数一般用于统计,往往可以和group by 等方法一起使用。SQL中的聚集函数有五个
函数 | 说明 |
---|---|
COUNT() | 总行数 |
MAX() | 最大值 |
MIN() | 最小值 |
SUM() | 求和 |
AVG() | 平均值 |
SQL函数
类别 | 描述 |
---|---|
算术函数 | 进行算术运算,abs/mod/round等 |
字符串函数 | 字符串大小写转换,拼接,替换,截取相关 函数,concat/length/char_length/lower/upper/ replace/substring等 |
日期函数 | 对数据表中的日期进行处理 |
转换函数 | 转换数据类型 |
groupby的使用
groupby多个字段,相当于把这些字段可能出现的所有取值情况都进行分组
having的使用
当我们创建出很多分组的时候,有时候就需要对分组进行过滤。你可能首先会想到 WHERE 子句,实际上过滤分组我们使用的是 HAVING。HAVING 的作用和 WHERE 一样,都是起到过滤的作用,只不过 WHERE 是用于数据行,而 HAVING 则作用于分组。即在group by 的后面再使用having来筛选出具备一定条件的分组
子查询
子查询可以分为关联子查询和费关联子查询,其中有一些关键词,可以方便我们对子查询的结果进行比较以及集合比较子查询,集合比较子查询关键词有IN/SOME/ANY/ALL。同时子查询也可以作为主查询的列。
子查询从数据表中查询了数据结果,如果这个数据结果只执行一次,然后这个数据结果作为主查询的条件进行执行,那么这样的子查询叫做非关联子查询。
如果子查询需要执行多次,即采用循环的方式,先从外部查询开始,每次都传入子查询进行查询,然后再将结果反馈给外部,这种嵌套的执行方式就称为关联子查询
EXISTS 子查询
关联子查询通常也会和 EXISTS 一起来使用,EXISTS 子查询用来判断条件是否满足,满足的话为 True,不满足为 False
集合比较子查询
IN和EXIST的区别,前者:前表比后表大;后者:前表比后表小