select deptno,avg(sal)
from emp
group by deptno
having deptno=10
---------------------------------------
select dpetno,avg(sal)
from emp
where deptno=10
group by deptono
---------------------------------------
也就是说(从理论上讲),where是在查询前做条件限制,having是在查询后的结果集上做条件限制。
查询前做限制的话,返回的件数会少;而在查询后的结果集上做限制的话,之前的查询结果可能会很多,这样就会影响性能。
所以,一般是用where,having是在where不方便或者不能使用的情况下才使用。