1、汇总查询
汇总是数据分析中常用的基础操作,所谓汇总就是 求和、求均值、求中无数、计数、最大值、最小值等等,这些操作在excel中都有对应的函数去实现,那在SQL中如何实现呢?
也是通过函数来实现的;
SQL常用的聚合函数:
求和 sum
计数 count
求均值 avg
最大值 max
最小值 min
- 案例:
2、分组 group by
直接上练习:
3、分组 + 条件筛选
这里涉及到2个重要的知识点:
第一,这里的条件筛选为什么不用where;
首先,where 子句不能与聚合函数一起使用,因为where 后面只能跟数据表中的原有的字段,通过聚合函数计算过的字段,不是数据表中原有的字段;
其次,where 的执行顺序是紧跟在from之后的,也就是说where是在数据从磁盘读取到内存中时,对原始表数据进行一条条的过滤;
那为什么用having呢?
having是对 group by 已经分组的数据进行条件过滤;
与 where 相反,having可以搭配聚合函数一起使用;
第二,为什么 having子句 后面不能直接引用 select 中的别名;
这里是SQL语句执行顺序的问题,having的执行优先级在 select 之前,所以having完全不知道select所引用的别名是什么;
group by ... having子句
4、SQL语句的执行顺序
from - where - group by - having - select - order by - limit
5、排序 order by 子句
order by <列名> desc
升序 asc
降序 desc
6、limit 分页查询
limit m,n 从第 m+1 条记录开始, 返回 n 条记录
select * from student limit 10 显示前10行记录(默认m = 0)
select * form student limit 9,10 显示第10~20行记录
7、SQL处理业务问题,遇到难点时:
把问题翻译成大白话
写出分析思路
根据思路写出对应的SQL语句
8、sqlzoo练习
count和sum练习
还是比较简单滴~