문제
다음 테이블을 보고 강남지점의 판매량이 많은 제품부터 출력되도록 할 때 다음 중 가장 적절한 SQL 구문은? (단, 출력은 제품명과 판매량이 출력되도록 한다.)
<그림>
<푸드 테이블>
| 지점명 | 제품명 | 판매량 |
|---|---|---|
| 강남지점 | 비빔밥 | 500 |
| 강북지점 | 도시락 | 300 |
| 강남지점 | 도시락 | 200 |
| 강남지점 | 미역국 | 550 |
| 수원지점 | 비빔밥 | 600 |
| 인천지점 | 비빔밥 | 400 |
| 강남지점 | 잡채밥 | 250 |
① SELECT 제품명, 판매량 FROM 푸드 ORDER BY 판매량 ASC; ② SELECT 제품명, 판매량 FROM 푸드 ORDER BY 판매량 DESC; ③ SELECT 제품명, 판매량 FROM 푸드 WHERE 지점명 = '강남지점' ORDER BY 판매량 ASC; ④ SELECT 제품명, 판매량 FROM 푸드 WHERE 지점명 = '강남지점' ORDER BY 판매량 DESC;
정답
4번
해설
정답: 4. 강남지점으로 필터링(WHERE)하고 판매량 내림차순(DESC) 정렬해야 많은 제품부터 출력된다.
오답 풀이
- 1번: 강남지점 조건이 없고 오름차순이라 틀렸다.
- 2번: 강남지점 조건이 없어 틀렸다.
- 3번: 오름차순(ASC)이라 적은 제품부터 출력되므로 틀렸다.
- 4번: 강남지점 조건과 내림차순 정렬이 모두 맞으므로 정답이다.
보충 개념 ORDER BY DESC는 내림차순(큰 값부터), ASC는 오름차순(작은 값부터) 정렬이다.