본문 바로가기

ETC

[SQL] ORDER BY를 통해 데이터를 정렬해보자.

반응형

SELECT에 ORDER BY 구를 추가하면 검색결과를 특정 열 기준으로 정렬하여 반환받을 수 있다. 사용 방법은 아래와 같다. 

 

SELECT 열 FROM 테이블 WHERE 조건 ORDER BY 열 [ASC/DESC]

 

ORDER BY는 WHERE 조건 뒤에 붙혀서 쓸 수 있다. 만약 WHERE 조건이 없다면 FROM 테이블 뒤에 붙혀서 쓰면된다. 마지막에 ASC와 DESC는 각각 오름차순으로 정렬할지 내림차순으로 정렬할지를 명시하는 부분이다. 만약 옵션을 입력하지 않으면 기본적으로 오름차순 정렬이 된다. (ASC) 실제 사용 예제를 살펴보자.

 

 

ORDER BY 예제

 

department count
개발 10
인사 6
노무 40

 

만약 위와 같은 데이터 베이스의 department 테이블이 있다고 할떄 count에 따라 정렬된 값을 받고 싶다면 어떻게 해야할까?

 

SELECT * FROM department ORDER BY count;

위 쿼리를 통해서 count를 기준으로 오름차순된 결과를 얻을 수 있다. ORDER BY 열 뒤에 따로 옵션을 주지 않으면 기본적으로 ASC 옵션이 적용된다. 만약 내림 차순으로 적용하고 싶다면 아래와 같이 DESC 옵션을 뒤에 붙혀주면 count 40, 10, 6으로 정렬된 데이터를 반환받을 수 있다.

 

SELECT * FROM department ORDER BY count DESC;

 

주의해야할 점은 count가 위에서는 숫자형이기 때문에 숫자형으로 정렬된 값을 얻을 수 있었는데, 만약 문자 또는 문자열형식인 경우에는 사전식 정렬을 하여 결과를 리턴하기 때문에 꼭 데이터 타입도 확인하자!

반응형