having 和 where 都是用来筛选的,但是执行级别不同
having的优先级别低于聚合函数(sum avg max min count )
where的优先级别高于聚合函数,having是为了弥补where在分组判断中的不足,因为在分组判断中会优先执行where从而导致分组的不准确。
where是从表里查询的
having是查询条件中有的字段但是表中没有的字段,并且having级别比较低
having的优先级别低于聚合函数(sum avg max min count )
where的优先级别高于聚合函数,having是为了弥补where在分组判断中的不足,因为在分组判断中会优先执行where从而导致分组的不准确。
where是从表里查询的
having是查询条件中有的字段但是表中没有的字段,并且having级别比较低
SQL查询的表的时候是先把查询的字段放到了内存中,
sql中查询有这么几种(其中查询的顺序不能随意改变)
1.条件查询 where
2.分组查询 group by
3.筛选查询 having
4.排序查询 order by
5.限制查询 limit
6.连接查询 left join ...on...
7.子查询 (查询语句嵌套查询语句)