TOP

SQL 강의 3. 데이터 정렬(ORDER BY)

앞으로는 선택 항목을 텍스트의 경우 알파벳순으로, 숫자 값의 경우 오름차순/내림차순으로 정렬해야 할 수도 있습니다. 이러한 목적을 위해 SQL에는 특수 연산자 ORDER BY이 있습니다.

SQL 연산자 ORDER BY는 작은 것에서 큰 것, 즉 오름차순으로, 그리고 역순(큰 것에서 작은 것)으로 정렬할 수 있습니다.


1. 선택한 데이터 정렬

전체 테이블을 제품 판매량, 즉 금액 열을 기준으로 정렬해 보겠습니다.

Run SQLSELECT * 
FROM Sumproduct 
ORDER BY Amount

쿼리가 금액 필드에서 레코드를 오름차순으로 정렬한 것을 볼 수 있습니다. 연산자 배열 순서를 관찰해야 합니다. 즉, ORDER BY 연산자는 요청의 맨 끝에 와야 합니다. 그렇지 않으면 오류 메시지가 수신됩니다.

또한 ORDER BY 연산자의 특징은 쿼리에서 선택하지 않은 필드를 기준으로 데이터를 정렬할 수 있다는 것입니다. 즉, 데이터베이스에 있는 것만으로도 충분합니다.

2. 여러 필드로 정렬

이제 하나 이상의 필드를 기준으로 예제를 추가로 정렬해 보겠습니다. 제품 판매 장소를 표시하는 City 필드로 설정합니다.

Run SQLSELECT * 
FROM Sumproduct 
ORDER BY Amount, City

정렬 순서는 쿼리의 필드 순서에 따라 달라집니다. 즉, 우리의 경우 데이터는 먼저 Amount 열을 기준으로 정렬된 다음 City을 기준으로 정렬됩니다.

3. 분류방향

기본적으로 ORDER BY 연산자는 오름차순으로 정렬되지만, 내림차순으로 정렬하도록 값을 쓸 수도 있습니다. 이를 위해 각 필드 끝에 DESC 연산자(DESCENDING이라는 단어의 약어)를 넣습니다.

Run SQLSELECT * 
FROM Sumproduct 
ORDER BY Amount DESC, City

이 예에서는 Amount 필드의 값이 내림차순으로 정렬되고 City 필드의 값은 오름차순으로 정렬되었습니다. DESC 연산자는 하나의 열에만 적용되므로 필요한 경우 정렬에 참여하는 각 필드 뒤에 작성해야 합니다.