一、Sql常用的汇总函数
需要注意的点:
1.count(列名)不统计字段为null 的记录;统计含null的记录需要用count(*)
2.sum、avg函数只能对数值类型的列计算
3.count(distinct 列名)用于不重复计数
![83f0eec53c977fb9014a6cf7337d0148.png](https://i-blog.csdnimg.cn/blog_migrate/b30a38072b6f95953178a3ed2706bdaa.jpeg)
二、分组:group by
练习:
![77c7bbadb18e138e986c462204c56e1a.png](https://i-blog.csdnimg.cn/blog_migrate/0b854305c88cc0be4ab2bbeb6ac5fd92.png)
三、对分组结果指定条件:having
练习:
![a1d39cd83e5c332cd273f7bd6fb20c1a.png](https://i-blog.csdnimg.cn/blog_migrate/35263b5998fff14702afade78b527464.png)
![975a2a345c4967395154604b5dd339bb.png](https://i-blog.csdnimg.cn/blog_migrate/34118173c9a77c0da603c3224cfce0ce.png)
四、用SQL解决业务问题的步骤
1.翻译成通俗易懂的大白话
2.写出分析思路
3.写出对应的SQL字句
练习:计算每门课程的平均成绩,并且平均成绩大于80分
分析思路:
明确查询的列为课程号、avg(成绩);
每门课程需要按课程号分组,即group by 课程号;
平均成绩大于80分,涉及对分组结果指定条件,需要用到having字句,即having avg(成 绩)>80;
![56e22b5a1b976e733545e7d2d9faacbd.png](https://i-blog.csdnimg.cn/blog_migrate/d7ea6fd1891da2733c98cc6661cbcfe9.png)
五、对查询结果排序:order by
- 列名 asc 表示按指定列升序排列,列名 desc 表示按指定列降序排列
- 按多个列排序时,从左到右执行
- 使用含有空值null的列排序时,空值null在查新结果开头显示;
- 从查询结果中取出指定行使用limit字句;
练习:
![c294d1c9c26a811924b250c7f8d7d7eb.png](https://i-blog.csdnimg.cn/blog_migrate/23ae5060375a7a13ae8a9b766b3c8fbf.png)
六、如何看懂报错信息
![b8fc0777951a862f4adbb2d69a03a3cb.png](https://i-blog.csdnimg.cn/blog_migrate/3dfcd4bb0772670e8b3481e76b4858d8.jpeg)
![a3b80ee6c3fdf6e069d45a843e049b47.png](https://i-blog.csdnimg.cn/blog_migrate/99e530f6290075ab007d682d275686f4.jpeg)
![0ec61cb7007dcdf8e71a3d937ee2e955.png](https://i-blog.csdnimg.cn/blog_migrate/86b9784d03db669b9b6d0a8a28f810a1.jpeg)
七、总结
![584c6af3e96b879156196ffb41f3735f.png](https://i-blog.csdnimg.cn/blog_migrate/d89dfe01be4f8cd4ffb582b20c9fc085.jpeg)
八、SQL练习题
以下两题应用了新的知识点:
1.不能在字符串中放入一个单引号,当有一个单引号时,可通过连续使用两个单引号来解决这个问题;
2.每条记录在运行in函数时,会返回0或1,;
![8416150864e794d7c71a11dc6a8839d3.png](https://i-blog.csdnimg.cn/blog_migrate/bb95b276d08eb24f5003193ae24d1e6c.png)
![d5efc8ab0ccccc994828e8260f171752.png](https://i-blog.csdnimg.cn/blog_migrate/b9721a7a1bd06ef1a544e88fccd50310.png)
![8478fca5a319e5a9968ac0ea7c16aeb5.png](https://i-blog.csdnimg.cn/blog_migrate/9d4af2c55fc8bd5af59d94bbbf57b2d8.png)