01. ORDER BY 절
- 기본적으로 데이터는 입력된 순서대로 출력됨
- 사용: 출력되는 행의 순서를 사용자가 변경하고자할 때
- ORDER BY 뒤에 명시된 순서대로 정렬 → 1차 정렬, 2차 정렬 가능
- 정렬 순서
- ASC: 오름차순 (1, 2, 3, 4, ...)
- DESC: 내림차순 (5, 4, 3, 2, 1, ...)
- 유일하게 SELECT 절에 정의한 컬럼 별칭 (AS)으로 사용 가능
- SELECT절에 선언된 순서대로의 숫자 전달 가능 (컬럼명과 숫자 혼합 가능)
- 문법
SELECT * | 컬럼명 | 표현식
FROM 테이블명 또는 뷰명
WHERE 조회할 데이터 조건
GROUP BY 그룹핑컬럼명
HAVING 그룹핑 대상 필터링 조건
ORDER BY 정렬컬럼명 [ ASC | DESC ]; --문법
02. 정렬 순서 - 오름차순
- 한글: 가, 나, 다, ...
- 영어: A, B, C, ...
- 숫자: 1, 2, 3, 4, ...
- 날짜: 과거 날짜 ~ 최근 날짜
- 문자: 왼쪽부터 값이 작은 순서대로
03. 복합 정렬
- 먼저 정렬한 값의 동일한 결과가 있을 경우
- 추가적으로 정렬 가능
- 1차 정렬한 값이 같음 → 그 값 안에서 2차 정렬 컬럼값을 정렬
SELECT first_name, salary, hire_date
FROM EMP
ORDER BY salary DESC, hire_date ASC; --복합 정렬
- 1차 정렬: salary를 기준으로 내림차순 정렬
- 2차 정렬: 같은 salary를 가진 컬럼들을 그 안에서 hire_date 오름차순 정렬
SELECT first_name AS n, salary AS s, hire_date AS d
FROM EMP
ORDER BY s DESC, 3 ASC; --별칭 사용과 컬럼 순서 사용
- SELECT 보다 늦게 수행되는 ORDER BY
- SELECT에서 정의한 별칭과 컬럼 순서 (1부터 시작)을 이용하여 정렬 가능함
- salary의 별칭 s와 hire_date의 컬럼 순서인 3을 이용해서 복합 정렬함
04. NULL의 정렬
- NULL을 포함한 값의 정렬시
- ORACLE: ORDER BY 절에 [ NULLS LAST | NULLS FIRST ] 명시하여 NULL 정렬 순서 변경 가능
- DEFAULT: NULL값이 마지막에 위치 (NULLS LAST)
- ORACLE: ORDER BY 절에 [ NULLS LAST | NULLS FIRST ] 명시하여 NULL 정렬 순서 변경 가능
SELECT first_name, salary, hire_date
FROM EMP
ORDER BY first_name DESC FIRST; --내림 차순 + NULL값이 먼저 출력
'SQL' 카테고리의 다른 글
[SQL] JOIN (2) (0) | 2025.02.17 |
---|---|
[SQL] JOIN (1) (0) | 2025.02.14 |
[SQL] GROUP BY 절, HAVING 절 (0) | 2025.02.14 |
[SQL] WHERE 절 (0) | 2025.02.13 |
[SQL] SQL 함수 (1) | 2025.02.13 |