where는 row에 대한 조건이었다면,
having은 group by 로 그룹을 모은 후,
그 그룹들에 대한 조건문의 역할이다.
이때 having 절을 만족하지 않는 그룹들은 취급하지 않는다.
부서별 평균 급여가 2000이상인 부서들의 부서번호와 평균급여
select deptno,round(avg(sal))
from emp
group by deptno
having round(avg(sal)) >=2000;
부서별 최소 급여가 1000이상이고, row의 job이 SALESMAN인 사람들의 job과 급여의 총합
select job, sum(sal)
from emp
where job = 'SALESMAN'
group by job
having min(sal) <=1000;