본문으로 바로가기

   

 

이번 글에서는 정렬하는 방법에 대해 작성해보려고 합니다.

정렬이란 크기 순서대로 나열하는 것을 말합니다.

 

'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가 높은 순서대로 조회되는 것을 확인할 수 있습니다.

 


세 번째 예제입니다.

아래 쿼리는 급여가 같은 사람이 존재할 경우 이름의 철자가 빠른 사람부터 출력되도록 하는 예제입니다.

 

이렇게 컬럼을 하나가 아닌 두 개를 주어서 각각 정렬할 수도 있습니다.