mysql中having和where的区别

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/xiao_tommy/article/details/53420539
having 和 where 都是用来筛选的,但是执行级别不同
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.子查询 (查询语句嵌套查询语句)

猜你喜欢

转载自blog.csdn.net/xiao_tommy/article/details/53420539