ORDER BY란?
오라클에서는 조회한 데이터를 정렬할 때 ORDER BY를 사용한다.
정렬은 오름차순(ASC), 내림차순(DESC) 두 가지가 있다.
생략 시 DEFAULT 값으로 ASC가 적용된다.
ASC(오름차순 정렬)
-- 키(HEIGHT)를 기준으로 오름차순 정렬
SELECT PLAYER_NAME, HEIGHT FROM PLAYER ORDER BY HEIGHT ASC;
DESC(내림차순 정렬)
-- 키(HEIGHT)를 기준으로 내림차순 정렬
SELECT PLAYER_NAME, HEIGHT FROM PLAYER ORDER BY HEIGHT DESC;
NULL 정렬 우선순위 설정
-- NULLS LAST : NULL 맨 마지막에 출력
-- NULLS FIRST : NULL 맨 앞에 출력
SELECT PLAYER_NAME, HEIGHT FROM PLAYER ORDER BY HEIGHT DESC NULLS LAST;
다중 정렬
-- 키(HEIGHT)를 기준으로 내림차순 정렬한다.
-- 만약 키(HEIGHT)가 같은경우 몸무게(WEIGHT)를 기준으로 오름차순(DEFAULT ASC) 정렬한다.
SELECT PLAYER_NAME, HEIGHT, WEIGHT FROM PLAYER ORDER BY HEIGHT DESC, WEIGHT;
SELECT절에 없는 칼럼 기준 정렬
-- 키(HEIGHT)는 SELECT절에 없지만 PLAYER 테이블에 존재하므로 정렬 가능하다.
SELECT PLAYER_NAME FROM PLAYER ORDER BY HEIGHT;
GROUP BY와 함께 사용 시 주의할 점
-- 팀별 키(HEIGHT)의 총합 기준으로 오름차순 정렬
SELECT TEAM_ID FROM PLAYER GROUP BY TEAM_ID ORDER BY SUM(HEIGHT);
-- GROUP BY로 그룹화 하지않은 칼럼은 사용불가 (에러)
SELECT TEAM_ID FROM PLAYER GROUP BY TEAM_ID ORDER BY HEIGHT;
'DB > 오라클(Oracle)' 카테고리의 다른 글
[Oracle] 오라클 GROUP BY, HAVING 사용법 (2) | 2023.12.02 |
---|---|
[Oracle] 오라클 CASE WHEN 사용법 (0) | 2023.12.01 |
[Oracle] 오라클 집계함수(AVG, MAX, MIN, SUM, COUNT) (0) | 2023.11.29 |
[Oracle] 오라클 숫자 함수(ABS, SIGN, MOD, CEIL) (0) | 2023.11.28 |
[Oracle] 오라클 NULL 관련 함수(NVL, NVL2, NULLIF, COALESCE) (2) | 2023.11.27 |