자격증/SQLD
ORDER BY
dev?
2024. 11. 7. 10:31
반응형
ORDER BY 절
: 결과를 정렬해서 출력
SELECT
NAME,
GROUP_NAME,
BIRTH_YEAR
FROM ARTIST
ORDER BY BIRTH_YEAR; -- (기본 : ASC) 생략가능한 옵션
정렬 순서
ORDER BY에 있는 컬럼 순서대로 정렬
-- ORDER BY의 첫번째 컬럼으로 정렬(BIRTH_YEAR)
-- 같은 것들을 두번째 컬럼으로 정렬
SELECT
NAME,
GROUP_NAME,
BIRTH_YEAR
FROM ARTIST
ORDER BY GROUP_NAME, BIRTH_YEAR DESC ;
-- 정렬 기준을 각각 다르게 줄 수 있다
SELECT
NAME,
GROUP_NAME,
BIRTH_YEAR
FROM ARTIST
ORDER BY GROUP_NAME ASC, BIRTH_YEAR DESC ;
별칭(ALIAS) 사용 가능
SELECT
NAME,
GROUP_NAME AS 그룹이름,
BIRTH_YEAR AS 생년
FROM ARTIST
ORDER BY 그룹이름 DESC, 생년 ASC ;
순서로 정렬 가능
대소문자 비교 정렬
- 조회하는 컬럼
- ORDER BY 부분에
[제약사항] order by에 쓸수 있는 표현식의 기준 : select에 쓸 수 있느냐
(order by 실행 순서가 select 다음이기 때문에)
NULL 정렬
ORACLE | NULL을 기본적으로 큰값으로 처리 |
SQL Server | NULL을 가장 작은값으로 처리 |
SELECT
NAME,
GROUP_NAME,
FOOT_SIZE
FROM ARTIST
ORDER BY FOOT_SIZE; -- asc 생략
NULL 정렬 순서 제어
NULLS FIRST : NULL 먼저
NULLS LAST : NULL 마지막
SELECT
NAME,
GROUP_NAME,
FOOT_SIZE
FROM ARTIST
-- ORDER BY FOOT_SIZE ASC NULLS FIRST;
ORDER BY FOOT_SIZE DESC NULLS FIRST;
반응형