要思考语句之间的理解优先级。比如在有无 group by 情况下使用 count 或 max,当有 group by 时,先执行分组,再在每个分组内执行聚合函数;如果没有分组,则聚合函数对全部的数据执行聚合函数。

思考语句间的书写顺序,比如 HAVING 位于 GROUP BY 子句后,而 WHERE 位于 GROUP BY 子句之前。

分组与聚合:https://blog.csdn.net/kellyred/article/details/106751069

分组查询:
http://c.biancheng.net/view/7408.html

having 过滤分组:http://c.biancheng.net/view/7416.html#:~:text = 在 MySQL 中,可以使用 HAVING 关键字对分组后的数据进行过滤。 HAVING 关键字和 WHERE,WHERE 关键字中所有的操作符和语法。 一般情况下, WHERE 用于过滤数据行,而 HAVING 用于过滤分组 。

any 和 all:https://blog.csdn.net/A_Runner/article/details/103177832

https://www.yiibai.com/sql/sql-any.html

解释有些许错误:all 是每一个,any 是任意一个,只要有一个就行

limit,查询返回条数:http://c.biancheng.net/view/7389.html

交叉连接:http://c.biancheng.net/view/7456.html

ifnull https://www.runoob.com/mysql/mysql-func-ifnull.html

union 和 union all:https://www.cnblogs.com/alex0702/p/10767005.html

sum:https://www.yiibai.com/mysql/sum.html

if: https://www.w3schools.cn/mysql/func_mysql_if.asp

group by:报错 https://zhuanlan.zhihu.com/p/103283746

rank over : https://blog.csdn.net/hdyrz/article/details/84587222

https://blog.csdn.net/java123456111/article/details/123784084

with as:https://zhuanlan.zhihu.com/p/397195826

时间差函数:https://blog.csdn.net/weixin_39583279/article/details/107100746

week 函数:https://www.yiibai.com/mysql/week.html

sum () over () 和 count () over () 分析函数: https://www.cnblogs.com/dreammyle/p/4691486.html

having 和 where

https://www.cnblogs.com/fanguangdexiaoyuer/p/6268211.html#:~:text= “Having” 是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作,在 Having 中可以使用聚合函数。 在说区别之前,得先介绍 GROUP,BY 这个子句,而在说 GROUP 子句前,又得先说说 “聚合函数”——SQL 语言中一种特殊的函数。例如 SUM%2C COUNT%2C MAX%2C AVG 等。

all:https://blog.csdn.net/qq_39768495/article/details/119870282

查询的参考答案:https://blog.csdn.net/m0_52422297/article/details/126992798

在嵌套查询中,子查询可能用到父元素的属性,也可能没有用到父元素的属性。

嵌套查询中的 where in 外码约束情况:此时需要的字段都在一张表中,where 该表某外码 in (外码作为主码所在的表的查询)

多表属性同时查询时,可以使用 where and,也可以使用 inner join