①汇总分析,我们会用到汇总函数
![7d2e250e4fadf5c83a02680882b3b9b8.png](https://i-blog.csdnimg.cn/blog_migrate/12c3a6f55b201fa2503973417835b008.jpeg)
需要注意的是
![370f875a64a572d31a831589d8721749.png](https://i-blog.csdnimg.cn/blog_migrate/99d8b379dbe540c7e1648143d3c7d486.jpeg)
练习
![1f0c782705ac285d83a834fd8b5ef87b.png](https://i-blog.csdnimg.cn/blog_migrate/6019e02e753cbca12972d804d40bb2ae.jpeg)
解答
![5a750e1bf60d341834f88cd9bbcc0691.png](https://i-blog.csdnimg.cn/blog_migrate/896825352d87e8a6f5ea7b98b33c472d.png)
②sql分组: group by
![24c049aabf7b0f67d32861989a2c5071.png](https://i-blog.csdnimg.cn/blog_migrate/fcd29d5c5f489011d47462833317f376.jpeg)
这里还是遵循SQL运行顺序:from ->where ->group by ->select
![37b4680f73eeaf1d2a977745ccc11648.png](https://i-blog.csdnimg.cn/blog_migrate/10b776fa5219ac379a27144c62da57ec.jpeg)
解答
![de49e80f4abc06c8783c87530b3eb97f.png](https://i-blog.csdnimg.cn/blog_migrate/80bd214125482f1fa61f79c1c98d4147.jpeg)
③假如我们需要对对分组结果指定条件:需要增加having子句
SQL运行顺序:from ->where ->group by ->having ->select
![a935bf17ed1c7d5476ab926a8c04c070.png](https://i-blog.csdnimg.cn/blog_migrate/3a45d62aad25d3f0bc403a6a80c12c74.jpeg)
解答
![ae5921693144511855e3733d5cdbdcc8.png](https://i-blog.csdnimg.cn/blog_migrate/5d0db4619c415478150e3808049ef9d1.png)
④用SQL解决业务问题
翻译成大白话->写出分析思路->写出对应的sql句子
如图所示即为参考
![86cb27149814263deee665ba3296ed21.png](https://i-blog.csdnimg.cn/blog_migrate/26b18e2c8fdff72fadffb70534d2a479.jpeg)
练习
![c30d7a2189375e647c1beb05f6ea4698.png](https://i-blog.csdnimg.cn/blog_migrate/a83be54daaa2467dca1363448da82505.jpeg)
已经是大白话了,直接按如下分析思路
SELECT 查询结果
[每门课的课程号:分组,平均成绩:avg(成绩)]
FROM 从哪张表中查找数据[成绩表:score]
WHERE 查询条件[没有]
GROUP BY 分组[每门课程:按课程号分组]
HAVING 对分组结果指定条件[平均成绩>=80];
![e97781b1ea8b6acf1a10d8762dfce49f.png](https://i-blog.csdnimg.cn/blog_migrate/5711dd7f88f105d8b7925a27f76f8e58.png)
⑤对查询结果排序:order by 从查询结果中取出指定行:limit
SQL运行顺序from->where->gtoup by->having->order by->limit
练习
![ef6de34157474014977215383a781724.png](https://i-blog.csdnimg.cn/blog_migrate/eef6ff2fca0edb5f9d80fdaa69f56280.jpeg)
![7ecbf7b4794286c435a0d7ff749eb4ea.png](https://i-blog.csdnimg.cn/blog_migrate/f9e3718fa10f6ba8ad40a1fd04615f27.jpeg)
⑥SQL运行常见报错:
这些报错我在练习过程中都遇到过,不是因为别的就是因为对SQL的运行顺序理解不到位
![37a1f1e7d3f5baadba33f273c37fa1cd.png](https://i-blog.csdnimg.cn/blog_migrate/431b3638b39b6de7a3f7935bc190291c.jpeg)
![0c30038ae5c9329fc65df720ec60d82a.png](https://i-blog.csdnimg.cn/blog_migrate/e053ab2ad5282b787f0af28bf5d9b298.jpeg)
![bee00a1a9ceab0312ac9b34da3b9a0d6.png](https://i-blog.csdnimg.cn/blog_migrate/2c5626e93c1b0c7c0d5a243a284700f8.jpeg)
SQL的运行顺序需要多多联系才能记忆深刻,理解SQL运行顺序让我们养成良好的SQL代码习惯和优化SQL代码语句至关重要,以下是SQLZOO的练习网址,很适合我们对SQL语句的练习
sqlzoo平台Select_from_Nobel(简单查询)
sqlzoo平台SUM and COUNT(汇总分析)