MySQL에서 SELECT 명령은 테이블로부터 데이터를 조회하는 데 사용됩니다. 이때 결과를 어떤 기준으로 정렬할지 지정하지 않으면, MySQL 서버는 행들을 임의의 순서로 반환할 수 있습니다. 따라서 원하는 순서대로 결과를 얻으려면 ORDER BY 절을 추가하여 정렬 기준이 될 열(컬럼)을 명시해야 합니다.
구문
SELECT column1, column2, …, columnN
FROM table_name
ORDER BY column1 [ASC|DESC], [column2, …];
ORDER BY 절은 기본적으로 오름차순(ASC)으로 정렬하며, 내림차순으로 정렬하려면 DESC 키워드를 사용합니다. 또한 여러 개의 열을 지정하면 첫 번째 열의 값이 같을 때 두 번째 열을 기준으로 정렬하는 방식으로 동작합니다.
예제
아래 예제에서는 Student 테이블의 데이터를 'Name' 열을 기준으로 오름차순 정렬하여 조회합니다.
mysql> SELECT Id, Name, Address FROM Student ORDER BY Name;
+------+---------+---------+
| Id | Name | Address |
+------+---------+---------+
| 2 | Aarav | Mumbai |
| 1 | Gaurav | Delhi |
| 15 | Harshit | Delhi |
| 17 | Raman | Shimla |
+------+---------+---------+
4 rows in set (0.00 sec)
실행 결과를 보면 이름이 알파벳 순서(Aarav → Gaurav → Harshit → Raman)로 정렬되어 반환된 것을 확인할 수 있습니다. 이처럼 ORDER BY 절을 활용하면 조회 결과를 원하는 기준에 맞게 일관되게 정렬할 수 있습니다.