문제
다음 SQL 문에서 구문 오류가 발생하는 이유로 가장 적절한 것은?
SQLSELECT 부서명, 평균급여 FROM 직원 WHERE AVG(급여) > 4000 GROUP BY 부서명;
① WHERE 절에서 집계함수를 사용할 수 없음 ② GROUP BY 절이 WHERE 절보다 뒤에 위치함 ③ SELECT 절에 평균급여 별칭이 정의되지 않음 ④ FROM 절의 테이블명이 올바르지 않음
정답
1번
해설
WHERE 절은 개별 행을 대상으로 조건을 적용하는 절이므로 그룹화 후 계산되는 집계함수(AVG, COUNT 등)를 사용할 수 없습니다. 집계함수에 대한 조건은 HAVING 절에서 사용해야 합니다. ②는 정상적인 SQL 구문 순서이고, ③④는 이 오류의 직접적인 원인이 아닙니다.