笔记

1. 汇总函数

注意:
1) 所有的汇总函数如果输入的是列名,计算前会将空值(null)排除再计算(count(*)会包含空值)
2) sum(列名)和avg(列名)只能对数值类型的列计算
汇总分析练习:

2. 分组:group by
分析方法:数据分组——应用函数——组合结果

分组练习:

3. 对分组结果指定条件:having
对分组结果指定条件练习:

4. 用SQL解决业务问题
SQL解决业务问题方法:

理解业务问题:计算每门课程的平均成绩,并且平均成绩大于等于80分
分析思路:
select 查询结果
【每门课的课程号:分组,平均成绩:avg(成绩)】
from 从哪张表【成绩表:score】
where 查询条件【没有】
group by 分组【按课程号分组】
having 对分组结果指定条件【平均成绩>=80】
写出SQL语句:

5. 对查询结果进行排序:order by
降序排序:desc 升序排序:asc
注意:1)order by 默认使用升序排序
2)空值(null)默认排在前面
3)limit 从查询结果中取出指定行
排序练习:

6. 常见错误
1) 在group by中使用了select里的别名
2) 在where中使用聚合函数
3) 字符串类型的数字
7. 总结
1) SQL运行的顺序
SQL运行的顺序:from,where,group by,having,select,order by,limit

2) 查询复杂业务问题步骤
a 将业务问题翻译成大白话
b 按照SQL子句写出分析思路
c 写出SQL语句
3) 分析报错原因,避免常见错误
8. Sqlzoo练习

文章部分资料来源:猴子课程,SQLZOO