문제
다음 중 아래와 같은 순서로 결과를 표시하는 SQL문으로 옳은 것은?
[제목/감독/장르/개봉연도] 인터스텔라 놀란 SF 2014 / 기생충 봉준호 드라마 2019 / 조커 필립스 드라마 2019 / 오펜하이머 놀란 드라마 2023 / 듄 빌뇌브 SF 2024
① SELECT * FROM 영화 ORDER BY 감독, 개봉연도; ② SELECT * FROM 영화 ORDER BY 개봉연도 DESC, 감독 ASC; ③ SELECT * FROM 영화 ORDER BY 감독 DESC, 개봉연도 ASC; ④ SELECT * FROM 영화 ORDER BY 개봉연도 ASC, 감독 ASC;
정답
4번
해설
정답: 4. 결과는 개봉연도가 오름차순(2014→2019→2019→2023→2024)이고, 개봉연도가 같은 2019년 두 레코드는 감독이 오름차순(봉준호→필립스)으로 정렬되어 있다. 따라서 ORDER BY 개봉연도 ASC, 감독 ASC가 옳다.
오답 풀이
- 1번: 감독을 먼저 정렬하므로 개봉연도 오름차순 결과와 맞지 않는다.
- 2번: 개봉연도를 내림차순으로 정렬하므로 결과 순서와 반대이다.
- 3번: 감독 내림차순을 먼저 적용하므로 결과와 다르다.
- 4번: 개봉연도 오름차순, 동일 연도는 감독 오름차순으로 결과와 일치하므로 옳다.
보충 개념 ORDER BY는 앞쪽 기준으로 먼저 정렬하고, 값이 같을 때 다음 기준으로 정렬한다. ASC는 오름차순, DESC는 내림차순이다.