다음 SQL의 실행 결과로 옳은 것은? (부서명은 가나다순으로 비교된다… | [SQLD] SQL 개발자 기출유형 모의고사 3회 상세 페이지
1[SQLD] SQL 개발자 기출유형 모의고사 3회
다음 SQL의 실행 결과로 옳은 것은? (부서명은 가나다순으로 비교된다)[직원]
| 직원번호 | 부서 | 급여 |
|---|---|---|
| E1 | 영업 | 300 |
| E2 | 개발 | 400 |
| E3 | 영업 | 250 |
| E4 | 인사 | 300 |
| E5 | 개발 | 350 |
| E6 | 영업 | 300 |
SELECT 직원번호, 부서 AS 소속, 급여 FROM 직원 ORDER BY 소속 DESC, 3, 1 DESC;
1
| 직원번호 | 소속 | 급여 |
|---|---|---|
| E4 | 인사 | 300 |
| E6 | 영업 | 300 |
| E1 | 영업 | 300 |
| E3 | 영업 | 250 |
| E2 | 개발 | 400 |
| E5 | 개발 | 350 |
2
| 직원번호 | 소속 | 급여 |
|---|---|---|
| E5 | 개발 | 350 |
| E2 | 개발 | 400 |
| E3 | 영업 | 250 |
| E6 | 영업 | 300 |
| E1 | 영업 | 300 |
| E4 | 인사 | 300 |
3
| 직원번호 | 소속 | 급여 |
|---|---|---|
| E4 | 인사 | 300 |
| E3 | 영업 | 250 |
| E1 | 영업 | 300 |
| E6 | 영업 | 300 |
| E5 | 개발 | 350 |
| E2 | 개발 | 400 |
4
| 직원번호 | 소속 | 급여 |
|---|---|---|
| E4 | 인사 | 300 |
| E3 | 영업 | 250 |
| E6 | 영업 | 300 |
| E1 | 영업 | 300 |
| E5 | 개발 | 350 |
| E2 | 개발 | 400 |
해설
소속 내림차순이라 인사→영업→개발 순이고, 같은 부서 안에서는 열 번호 3(급여) 오름차순, 급여가 같으면 열 번호 1(직원번호) 내림차순으로 E6 이 E1 앞에 온다.
DESC 는 바로 앞의 정렬 키 하나에만 적용되고 방향을 생략한 키는 ASC 다.
- E1 을 E6 앞에 둔 표는 마지막 키의 DESC 를 무시했다.
- 급여까지 내림차순으로 정렬한 표는 DESC 가 모든 키에 걸린다고 오해했다.
- 개발부터 시작한 표는 소속을 오름차순으로 정렬했다.
오류나 개정된 내용이 보이면 알려주세요