문제
다음 SQL 실행 시 가장 적절한 결과는?
[TAB] DEPT: A,A,B,B / SAL: 100,200,150,NULL
SQLSELECT DEPT, MAX(SAL) FROM TAB GROUP BY DEPT ORDER BY 2 DESC NULLS LAST;
① A:200, B:150 ② A:200, B:NULL ③ B:150, A:200 ④ 오류 발생
정답
1번
해설
GROUP BY로 DEPT별 MAX(SAL) 계산: A그룹=200, B그룹=150(NULL은 MAX에서 제외). ORDER BY 2는 두 번째 컬럼(MAX(SAL))으로 내림차순 정렬. 200>150이므로 A:200, B:150 순. ②는 NULL을 MAX 결과로 잘못 인식, ③은 정렬 방향 오해, ④는 문법적으로 올바른 SQL임.