문제
다음 SQL 중 실행 시 오류가 발생하는 것은?
① SELECT DEPTNO, COUNT() FROM EMP GROUP BY DEPTNO ORDER BY 1; ② SELECT DEPTNO, COUNT() CNT FROM EMP GROUP BY DEPTNO ORDER BY CNT DESC; ③ SELECT DEPTNO FROM EMP GROUP BY DEPTNO ORDER BY COUNT(*) DESC; ④ SELECT DEPTNO, AVG(SAL) FROM EMP GROUP BY DEPTNO ORDER BY ENAME;
정답
4번
해설
④가 정답이다. GROUP BY 사용 시 ORDER BY 절에는 GROUP BY 절에 명시된 컬럼이나 집계함수만 사용할 수 있다. ENAME은 GROUP BY에 없고 집계함수도 아니므로 오류가 발생한다. ①은 컬럼 번호 사용 가능, ②는 별칭 사용 가능, ③은 집계함수 사용 가능하다.