SQL Server 기준으로 다음 SQL 의 실행 결과로 옳은 것은?[… | [SQLD] SQL 개발자 기출유형 모의고사 4회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 4회
SQL Server 기준으로 다음 SQL 의 실행 결과로 옳은 것은?[예약]
| 예약번호 | 등급 | 운임 |
|---|---|---|
| 1 | BIZ | 500 |
| 2 | ECO | 400 |
| 3 | BIZ | 300 |
| 4 | ECO | 300 |
| 5 | BIZ | 300 |
| 6 | ECO | 200 |
SELECT TOP (3) WITH TIES 등급, 운임 FROM 예약 ORDER BY 운임 DESC, 등급;
1
| 등급 | 운임 |
|---|---|
| BIZ | 500 |
| ECO | 400 |
| BIZ | 300 |
| BIZ | 300 |
| ECO | 300 |
2
| 등급 | 운임 |
|---|---|
| BIZ | 500 |
| ECO | 400 |
| ECO | 300 |
3
| 등급 | 운임 |
|---|---|
| BIZ | 500 |
| ECO | 400 |
| BIZ | 300 |
4
| 등급 | 운임 |
|---|---|
| BIZ | 500 |
| ECO | 400 |
| BIZ | 300 |
| BIZ | 300 |
해설
세 번째 행은 (BIZ, 300) 이고 WITH TIES 는 정렬 키 운임과 등급이 모두 같은 행만 더 가져오므로, 또 다른 (BIZ, 300) 이 붙어 4행이 된다.
(ECO, 300) 은 운임은 같지만 두 번째 키인 등급이 달라 동점이 아니므로 결과에서 빠진다.
- 세 행만 있는 표는 WITH TIES 없이 TOP (3) 만 쓴 결과이다.
- (ECO, 300) 까지 다섯 행인 표는 첫 정렬 키만으로 동점을 판단한 것이다.
- (ECO, 300) 이 셋째인 표는 등급을 내림차순으로 정렬한 것이다.
오류나 개정된 내용이 보이면 알려주세요