Oracle 기준으로 다음 SQL을 실행한 결과로 옳은 것은?[사원]사… | [SQLD] SQL 개발자 기출유형 모의고사 1회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 1회
Oracle 기준으로 다음 SQL을 실행한 결과로 옳은 것은?[사원]
| 사번 | 이름 | 부서코드 | 급여 |
|---|---|---|---|
| 1 | 김민 | D20 | 300 |
| 2 | 이준 | D10 | 400 |
| 3 | 박서 | D20 | 250 |
| 4 | 최유 | (null) | 350 |
| 5 | 정하 | D10 | 380 |
| 6 | 한결 | D30 | 280 |
SELECT 이름, 부서코드 AS 부서, 급여 * 12 AS 연봉 FROM 사원 ORDER BY 2 DESC, 연봉;
1
| 이름 | 부서 | 연봉 |
|---|---|---|
| 최유 | (null) | 4200 |
| 한결 | D30 | 3360 |
| 박서 | D20 | 3000 |
| 김민 | D20 | 3600 |
| 정하 | D10 | 4560 |
| 이준 | D10 | 4800 |
2
| 이름 | 부서 | 연봉 |
|---|---|---|
| 최유 | (null) | 4200 |
| 한결 | D30 | 3360 |
| 김민 | D20 | 3600 |
| 박서 | D20 | 3000 |
| 이준 | D10 | 4800 |
| 정하 | D10 | 4560 |
3
| 이름 | 부서 | 연봉 |
|---|---|---|
| 정하 | D10 | 4560 |
| 이준 | D10 | 4800 |
| 박서 | D20 | 3000 |
| 김민 | D20 | 3600 |
| 한결 | D30 | 3360 |
| 최유 | (null) | 4200 |
4
| 이름 | 부서 | 연봉 |
|---|---|---|
| 한결 | D30 | 3360 |
| 박서 | D20 | 3000 |
| 김민 | D20 | 3600 |
| 정하 | D10 | 4560 |
| 이준 | D10 | 4800 |
| 최유 | (null) | 4200 |
해설
ORDER BY 2 DESC는 두 번째 열인 부서를 내림차순으로 정렬하며, Oracle은 NULL을 가장 큰 값으로 보아 DESC에서 NULL이 맨 앞에 온다.
DESC는 바로 앞 키에만 적용되므로 같은 부서 안에서는 별칭 연봉 기준 오름차순이 되어 D20은 박서·김민, D10은 정하·이준 순이다.
- 최유를 맨 뒤에 둔 표는 NULL을 가장 작은 값으로 보았다.
- 같은 부서에서 연봉이 큰 사원을 먼저 둔 표는 DESC가 모든 키에 적용된다고 보았다.
- D10부터 나열한 표는 부서를 오름차순으로 정렬했다.
오류나 개정된 내용이 보이면 알려주세요