首页 » 开发 » sql » mysql having和where的区别,分组排序,语句执行顺序

mysql having和where的区别,分组排序,语句执行顺序

 

where 是针对行数据进行筛选
having是针对分组后的行数据进行筛选
所以where + group 的组合速度相比group having会更快
所以能用where尽量用where

另外数据经过group 操作后,数据列是有变化的,所以having如果筛到了不存在的列容易报错

分组排序也是使用order by
order by 也可以直接对分组后的数据进行排序,因为分组打乱了原来表的结构,所以orderby 也不能对未出现的列进行排序。

语句执行顺序:
1、from
2、where
3、group by
4、having
5、select
6、order by

原文链接:mysql having和where的区别,分组排序,语句执行顺序,转载请注明来源!

0