개발 이야기/DB

오라클 정렬 ORDER BY, DESC, ASC

마이달리아 2017. 9. 29. 13:23
오라클 테이블의 특정 컬럼명의 숫자를 오름 차순 혹은 내림 차순 해보자.
 
예를들어
예) SAMPLE_TABLE
-------------
NO     DATA
-------------
1
-----
2
-----
3
----
...
의 컬럼이 있다면
 
SELECT [컬럼명] FROM [테이블명]; 이런형태로 정렬 조건을 걸어주지 않는다면 가독성이 떨어진다.
이때 ORDER BY문을 이용해서 정렬 할수 있다.
 
내림차순(정순정렬)
ORDER BY [컬럼명] DESC


오름차순(정순정렬)
ORDER BY [컬럼명] ASC
 
위의 방법에 컬럼명 대신 숫자가 들어갈 수 도있다.
ORDER BY [숫자] DESC
숫자일경우 컬럼명의 순번을 적어주면 같은 의미가 된다.
예를들어 위의 구조에서 NO는 1번째 컬럼, DATA는 2번째 컬럼이므로
ORDER BY 1 DESC 을 한다면 ORDER BY NO DESC 와 같은 의미가 된다.
마찬가지로 ORDER BY 2 DESC를 한다면 ORDER BY DATA DESC 와 같은 의미가 된다.
 
위의 구조 본다면 
 
내림차순
SELECT NO, DATA FROM SAMPLE_TABLE ORDER BY NO DESC;

오름차순
SELECT NO, DATA FROM SAMPLE_TABLE ORDER BY NO ASC;


 
요렇게 하면 특정컬럼을 오름차순 혹은 내림 차순할 수 있다.
 
 
ASC, DESC를 이용해 숫자 뿐 아니라 다른 데이터 형도 정렬이 가능하다.
 
문자열의경우
ASC로 정렬시 abc순으로 정렬이된다. 한글의 경우 가,나,다
DESC의 경우 cba순으로 정렬이된다. 한글의 경우 다,나,가
 
날짜의 경우
ASC로 정렬시 오래된 날짜부터 정렬된다.
DESC의 경우 최근 날짜부터 정렬된다.
 
NULL값일 경우
ASC는 NULL이 가장 뒤로 정렬된다.
DESC는 NULL이 가장 앞으로 정렬된다. 


'개발 이야기 > DB' 카테고리의 다른 글

like 검색방법  (0) 2019.03.09