문제
다음 SQL문에서 잘못 사용된 부분으로 가장 적절한 것은?
SELECT 부서명, COUNT() AS 인원수 FROM 직원 WHERE COUNT() > 5 GROUP BY 부서명;
① SELECT 절의 집계함수 사용 ② FROM 절의 테이블명 지정 ③ WHERE 절에서 집계함수 사용 ④ GROUP BY 절의 컬럼 지정
정답
3번
해설
WHERE 절에서는 집계함수를 직접 사용할 수 없다. 그룹화 전의 개별 행에 조건을 적용하는 WHERE 절과 달리, 그룹화 후의 집계 결과에 조건을 적용할 때는 HAVING 절을 사용해야 한다. 올바른 구문은 'HAVING COUNT(*) > 5'이다.