728x90
매일 SQLD 기출 문제 풀기 챌린지
문제 49.
Oracle 환경에서 주어진 테이블을 아래의 결과와 같이 정렬하고자 할 때, SQL문의 빈칸에 들어갈 값을 작성하시오.
[TEST 49]
C1 | C2 |
10 | 100 |
10 | 200 |
10 | NULL |
20 | 100 |
20 | NULL |
20 | 200 |
[RESULT]
C1 | C2 |
10 | 200 |
10 | 100 |
10 | NULL |
20 | 200 |
20 | 100 |
20 | NULL |
[SQL]
SELECT C1, C2
FROM TEST49
ORDER BY C1, C2 DESC ( );
답 : _______
해설해보기
■ NULL 값은 어떻게 정렬될까?
- ASC(오름차순) : NULL 값이 가장 마지막에 출력됩니다.
- DESC(내림차순) : NULL 값이 가장 위에 출력됩니다.
■ Order By 절에서 NULL 값 출력 2가지 옵션
1. NULLS LAST
null 값을 맨 마지막에 출력(desc 사용 시)
2. NULLS FIRST
null 값을 맨 앞에 출력(asc 사용 시)
따라서 DESC 하게 정렬된 C2 컬럼에서
NULL 값을 가장 앞에 출력하기 위해서는
ORDER BY절에서 NULLS LAST 옵션을 사용해줘야 합니다.
직접 실행해보기
SELECT C1, C2
FROM TEST49
ORDER BY C1, C2 DESC NULLS LAST;
관련 스크립트
CREATE TABLE TEST49 (
C1 NUMBER,
C2 NUMBER
);
INSERT INTO test49 (C1, C2) VALUES (10, 100);
INSERT INTO test49 (C1, C2) VALUES (10, 200);
INSERT INTO test49 (C1, C2) VALUES (10, NULL);
INSERT INTO test49 (C1, C2) VALUES (20, 100);
INSERT INTO test49 (C1, C2) VALUES (20, NULL);
INSERT INTO test49 (C1, C2) VALUES (20, 200);
반응형
'SQL 문제 풀기 > 2. SQLD 기출 : 2024.3.01~2024.4.25' 카테고리의 다른 글
<SQLD 51> 조인에 대한 기출문제 (0) | 2024.04.21 |
---|---|
<SQLD 50> NTILE 함수에 대한 기출문제 (0) | 2024.04.20 |
<SQLD 48> 레포팅 함수에 대한 기출문제 (0) | 2024.04.17 |
<SQLD 47> natural join에 대한 기출문제 (0) | 2024.04.16 |
<SQLD 46> Order by에 대한 기출문제 (0) | 2024.04.15 |