1.对应方向
1 where针对表中的列发挥作用,查询数据 2 having对查询结果中的列发挥作用,筛选数据
2.对应位置
1 where在group by之前执行 {from之后执行} 2 having在group by 之后执行。 3 where和having 可以同时存在一个SQL语句中。 4 即如果where和having一起用时,where会先执行,having后执行
3.使用情况
1 where:where是一个约束声明,使用where来约束来自数据库的数据; 2 where是在结果返回之前起作用的; 3 where中不能使用聚合函数。 4 having:having是一个过滤声明; 5 having在查询返回结果集以后,对查询结果进行的过滤操作; 6 在having中可以使用聚合函数。