문제
다음 SQL 중 실행 시 오류가 발생하는 것은?
① SELECT DEPTNO, COUNT() FROM EMP GROUP BY DEPTNO ORDER BY COUNT() DESC; ② SELECT DEPTNO, AVG(SAL) AS AVG_SAL FROM EMP GROUP BY DEPTNO ORDER BY AVG_SAL; ③ SELECT DEPTNO FROM EMP GROUP BY DEPTNO ORDER BY ENAME; ④ SELECT DEPTNO, MAX(SAL) FROM EMP GROUP BY DEPTNO ORDER BY MIN(HIREDATE);
정답
3번
해설
GROUP BY를 사용한 쿼리에서 ORDER BY 절에는 GROUP BY 절에 명시된 컬럼이나 집계 함수만 사용할 수 있다. ③에서 ENAME은 GROUP BY 절에 없고 집계 함수도 아니므로 오류가 발생한다. ①은 집계함수 COUNT(*), ②는 별칭 사용, ④는 집계함수 MIN()을 사용하므로 모두 정상 실행된다.