이번 글에서는 정렬하는 방법에 대해 작성해보려고 합니다.
정렬이란 크기 순서대로 나열하는 것을 말합니다.
'ORDER BY' 라는 명령문에 정렬 방식을 추가하면 아주 간단하게 정렬이 됩니다.
정렬 방식에는 오름차순 방식과, 내림차순 방식이 있습니다.
오름차순(ascending) 정렬 방식
- 작은 것이 위에 출력되고 아래로 갈수록 값이 큰 값이 출력
- ex) 1, 2, 3, 4, 5
- ORDER BY의 default는 ascending방식
내림차순(descending) 정렬 방식
- 큰 것이 위에 출력되고 아래로 갈수록 값이 작아지는 값이 출력
- ex) 5, 4, 3, 2, 1
row를 정렬하기 위해서는 SELECT문에 ORDER BY절을 추가하고 어떤 컬럼을 기준으로 어떤 정렬을 할 것인지를 결정해야 합니다.
ASC(오름차순) |
DESC(내림차순) |
|
숫자 |
작은 값부터 정렬 |
큰 값부터 정렬 |
문자 |
사전 순서로 정렬 (아스키 코드 값 기준) |
사전 반대순서로 정렬 (아스키 코드 값 기준) |
날짜 |
빠른 날짜 순서로 정렬 |
늦은 날짜 순서로 정렬 |
NULL |
가장 마지막에 나온다 |
가장 먼저 나온다 |
예제를 통해 자세히 다루어 보도록 하겠습니다.
아래 쿼리는 EMP 테이블의 자료를 사원번호를 기준으로 내림차순으로 정렬하여 사원번호와 사원명 컬럼을 표시하는 예제입니다.
DESC는 내림차순으로 EMPNO가 높은게 가장 위에 출력되었고 그 이후부터 내림차순으로 출력이 되었네요.
두 번째 예제입니다.
아래 쿼리는 가장 최근에 입사한 사람부터 출력하는 예제입니다.
HIREDATE가 높은 순서대로 조회되는 것을 확인할 수 있습니다.
세 번째 예제입니다.
아래 쿼리는 급여가 같은 사람이 존재할 경우 이름의 철자가 빠른 사람부터 출력되도록 하는 예제입니다.
이렇게 컬럼을 하나가 아닌 두 개를 주어서 각각 정렬할 수도 있습니다.
'2. Database > 2_1 Oracle' 카테고리의 다른 글
[Oracle] UNION과 UNION ALL의 개념 및 예제 쿼리 (0) | 2020.03.20 |
---|---|
[Oracle] 다중 행 서브쿼리 -개념 및 예제 (0) | 2020.03.20 |
[Oracle] SUM, AVG - 총합과 평균을 구하는 함수 (0) | 2020.03.19 |
[Oracle] TO_NUMBER 함수 - 문자를 숫자로 바꿔주는 형 변환① (0) | 2020.03.19 |
[Oracle] IN() - 여러 개를 조회 (0) | 2020.03.18 |