문제
다음 SQL 쿼리에서 GROUP BY 절과 함께 사용할 수 없는 것은?
SQLSELECT department_id, COUNT(*), salary FROM employees WHERE hire_date > '2020-01-01' GROUP BY department_id HAVING COUNT(*) > 5;
① COUNT() 집계 함수 ② department_id 그룹핑 컬럼 ③ salary 개별 컬럼 (집계함수나 GROUP BY에 없음) ④ HAVING 절의 COUNT() 조건
정답
3번
해설
GROUP BY를 사용할 때 SELECT 절에는 GROUP BY에 명시된 컬럼이나 집계함수만 올 수 있습니다. salary는 GROUP BY에 포함되지 않고 집계함수로 감싸지지도 않았으므로 오류가 발생합니다. ①COUNT()는 집계함수이므로 사용 가능, ②department_id는 GROUP BY에 명시되어 사용 가능, ④HAVING절의 COUNT()는 집계함수 조건으로 올바릅니다.