参考
MySQL中七个查询命令的优先级及特点_的天的博客-CSDN博客_mysql语句执行优先级
SQL之HAVING_唯空城的博客-CSDN博客_sql中having
1.首先介绍以下where和having的区别
where是指定筛选行的条件,having指定筛选组的条件,因此一般和group by搭配使用
2.执行顺序
from——>where——>group by——>having——>select——>order by
首先,from语句会将硬盘中的表加载到内存中,生成临时文件
然后由where的条件筛选出符合的行数据,组成一个全新的临时表
再然后是groupby,是对这个全新的临时表分组
分组后,再根据having分组条件筛选出符合条件的组
将这些筛选出的组别挑选select出来
如果再有orderby,再对组别根据指定的属性排序并展示给用户