SQL ORDER BY Keyword

 

ORDER BY는 결과를 정렬할 때 사용한다.

ORDER BY는 기본적으로 레코드들을 오름차순으로 정렬한다. 내림차순으로 정렬하기 위해서는 DESC 키워드를 사용하며 된다.

 

SQL ORDER BY Syntax

 

ORDER BY의 문법은 다음과 같다.

 

SELECT column_name, column_name
FROM table_name
ORDER BY column_name ASC|DESC, column_name ASC|DESC;

 

WHERE절이 사라지고 ORDER BY가 나왔는데, WHRER절과 같이 사용해도 된다.

ORDER BY 뒤에 ASC를 쓰면 오름차순, DESC를 쓰면 내림차순으로 정렬이 된다.

 

SQL ORDER BY 예문

 

 

항상 사용하는 데이터베이스이다.

데이터베이스를 보면 기본적으로 CustomerID와 CustomerName을 오름차순으로 정렬이 되어있는 것을 볼 수 있다.

이것을 나라이름순서대로 오름차순으로 정렬해보자.

 

SELECT * FROM Customers ORDER BY Country ASC;

 

라고 입력해주면 나라를 기준으로 오름차순으로 정렬이 된다.

물론 SELECT * FROM Customers ORDER BY Country;

라고 입력해도 ORDER BY는 Default가 ASC이므로 오름차순으로 정렬이 된다.

 

 

반대로

 

SELECT * FROM Customers ORDER BY Country DESC;

 

라고 입력해주면 나라를 기준으로 내림차순으로 정렬이 된다.

 

 

ORDER BY Keyword를 2개 쓰면 어떻게 될까??

 

SELECT * FROM Customers ORDER BY Country ASC, CustomerID ASC;

라고 입력을 하게 되면 Country를 기준으로 오름차순으로 우선 정렬하고,

만약 Country의 값이 같을 경우 CustomerID를 기준으로 오름차순 정렬하게 된다.

 

 

 

 

아까 SELECT * FROM Customers ORDER BY Country ASC; 와 비교해보자

 

위 사진 : SELECT X FROM Customers ORDER BY Country ASC;

아래사진 : SELECT X FROM Customers ORDER BY Country ASC, CustomerID ASC;

 

위의 결과는 Country가 Argentina로 같은 레코드에 대해서 따로 정렬이 안되어있지만

아래 결과는 Country가 Argentina로 같은 레코드에 대해서 CustomerID를 오름차순으로 정렬이 되어있는 것을 알 수 있다.

 

따라서, ORDER BY A, B, C라고 입력하게되면 A로 정렬 후 B로 정렬, 그 다음 C로 정렬하게 된다.

 

데이터베이스를 보고, 무언가를 추출 할 때 정렬을 이용하게 되면 유용할 수 있으니 잘 기억해 놓는게 좋을 듯 하다.

 

 

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

 

본 게시물은 공부한 내용을 바탕으로 작성한 글로써, 점차 수정 및 추가를 통해 내용을 발전시킬 계획입니다.

따라서 오타 및 내용상의 오류, 추가할 내용 등이 있을 경우 주저 없이 알려주시면 감사하겠습니다.

궁금한점을 물어보시면 제가 아는 선에서 최대한으로 알려드리겠습니다.

 

참고한 사이트

- w3schools

 

'Database.' 카테고리의 다른 글

SQL Syntax(SQL 문법) - WHERE, Operator  (0) 2016.09.06
SQL Syntax(SQL 문법) - SELECT(DISTINCT)  (0) 2016.09.06
SQL Syntax(SQL 문법) intro  (4) 2016.09.06
데이터베이스 & SQL이란?  (2) 2016.09.06

+ Recent posts