본문 바로가기

DataBase

[Oracle] Order By 에서 Null 정렬 하기

반응형

DB를 이용하다 보면 흔하게 사용하는것중 하나가 Order By를 통한 데이터 정렬 일 것이다.



특정 필드를 기준으로 Order by를 하다보면 해당 컬럼의 값이 Null이 들어가 있어, Null을 포함하여 정렬하고 싶을때가 있다. 이때에는 해당 컬럼을 내림차순(DESC) 로 정렬하면 Null 부터 데이터가 나오면서 정렬이 된다.



하지만 그게 아니라면 어떻게 해야할까?


이럴때 간단하게 처리하는 방법이 Oracle에 존재한다.


정렬하고자 하는 컬럼을 대상으로 정렬을 실행한후 Null 데이터를 제일 앞에 붙일지, 뒤에 붙일지만 선택하면 된다.



NULL FIRST : 정렬하고자 하는 NULL 데이터들을 데이터 앞에 나오게 한다.
NULL LAST : 정렬하고자 하는 NULL 데이터들을 데이터 뒤에 나오게 한다.


사용방법은 다음과 같다.

Order BY [정렬하고자 하는 컬럼명] [DESC/ASC] NULL FIRST



SELECT
	NAME
	, AGE
FROM
	MEMBER
ORDER BY
	HOBBY ASC NULL FIRST