부서별로 인원 세서 5명 넘는 부서만 뽑고 싶은데, WHERE에 COUNT 조건을 넣으니까 에러가 나더라고요.
SELECT dept, COUNT(*)
FROM emp
WHERE COUNT(*) > 5
GROUP BY dept;
검색해보니 이건 HAVING을 써야 된다던데요.
SELECT dept, COUNT(*)
FROM emp
WHERE salary > 3000
GROUP BY dept
HAVING COUNT(*) > 5;
WHERE랑 HAVING 둘 다 조건 거는 건데 뭐가 다른 거예요? 왜 COUNT 같은 집계 조건은 WHERE엔 안 되고 HAVING에만 되는지 이해가 안 됩니다.