문제
다음 중 아래 그림과 같은 결과를 표시하는 쿼리로 옳은 것은?
| 영화명 | 감독 | 장르 | 제작년도 |
|---|---|---|---|
| 베테랑 | 백감독 | 멜로 | 2013 |
| 베테랑 | 류승완 | 액션 | 2015 |
| 퇴마전 | 김휘 | 스릴러 | 2015 |
| Mother | 난니 모레티 | 멜로 | 2015 |
① SELECT * FROM movie ORDER BY 영화명, 장르; ② SELECT * FROM movie ORDER BY 영화명 DESC, 장르 DESC; ③ SELECT * FROM movie ORDER BY 제작년도, 장르 DESC; ④ SELECT * FROM movie ORDER BY 감독, 제작년도;
정답
1번
해설
정답: 1. 결과는 영화명을 오름차순(한글 '베'·'퇴' 다음 영문 'Mother')으로 정렬하고, 같은 영화명(베테랑) 안에서는 장르를 오름차순('멜로'→'액션')으로 정렬한 형태이다. 따라서 ORDER BY 영화명, 장르가 옳다.
오답 풀이
- 1번: 영화명 오름차순, 같은 영화명 내 장르 오름차순 정렬과 일치하므로 옳다.
- 2번: 내림차순(DESC) 정렬이라 결과 순서와 맞지 않으므로 옳지 않다.
- 3번: 제작년도 우선 정렬이라 결과의 영화명 순서와 맞지 않으므로 옳지 않다.
- 4번: 감독 우선 정렬이라 결과 순서와 맞지 않으므로 옳지 않다.
보충 개념 ORDER BY는 기본이 오름차순(ASC)이며 DESC로 내림차순 지정한다. 여러 기준을 쓰면 앞 기준으로 먼저 정렬하고, 값이 같은 행끼리 다음 기준으로 정렬한다.