Computer >> 컴퓨터 >  >> 프로그래밍 >> MySQL

MySQL 테이블에서 원하는 순서대로 레코드를 조회하는 방법 – ORDER BY 절 활용법

MySQL 테이블에서 레코드를 오름차순 또는 내림차순 등 특정한 방식으로 정렬된 결과 집합(result set)으로 가져오려면 ORDER BY 절과 함께 ASC(오름차순) 또는 DESC(내림차순) 키워드를 사용해야 합니다.

ORDER BY 절의 기본 동작

만약 ASC나 DESC 키워드 중 어떤 것도 지정하지 않으면, MySQL은 기본적으로 레코드를 오름차순(ASC)으로 반환합니다. 즉, ORDER BY 절은 해당 절에 지정된 특정 필드를 기준으로 결과 집합을 오름차순 또는 내림차순으로 정렬하여 반환합니다.

예제 테이블 준비하기

다음과 같은 'Student' 테이블의 행을 정렬한다고 가정해 보겠습니다.

mysql> Select * from Student;
+--------+--------+--------+
| Name   | RollNo | Grade  |
+--------+--------+--------+
| Gaurav |    100 | B.tech |
| Aarav  |    150 | M.SC   |
| Aryan  |    165 | M.tech |
+--------+--------+--------+
3 rows in set (0.00 sec)

오름차순(ASC)으로 정렬하기

아래 쿼리는 'Name' 필드를 기준으로 테이블을 오름차순으로 정렬합니다. ASC 키워드를 생략했기 때문에 기본값인 오름차순이 적용됩니다.

mysql> Select * from student order by name;
+--------+--------+--------+
| Name   | RollNo | Grade  |
+--------+--------+--------+
| Aarav  |    150 | M.SC   |
| Aryan  |    165 | M.tech |
| Gaurav |    100 | B.tech |
+--------+--------+--------+
3 rows in set (0.00 sec)

내림차순(DESC)으로 정렬하기

아래 쿼리는 'Grade' 필드를 기준으로 테이블을 내림차순으로 정렬합니다. DESC 키워드를 명시적으로 지정했기 때문에 알파벳 역순으로 결과가 반환됩니다.

mysql> Select * from student order by Grade DESC;
+--------+--------+--------+
| Name   | RollNo | Grade  |
+--------+--------+--------+
| Aryan  |    165 | M.tech |
| Aarav  |    150 | M.SC   |
| Gaurav |    100 | B.tech |
+--------+--------+--------+
3 rows in set (0.00 sec)

정리

이처럼 ORDER BY 절을 사용하면 원하는 필드를 기준으로 조회 결과를 자유롭게 정렬할 수 있습니다. 오름차순이 필요하면 ASC(또는 생략), 내림차순이 필요하면 DESC 키워드를 사용하면 됩니다. 여러 개의 필드를 기준으로 정렬해야 할 경우에는 쉼표로 구분하여 여러 열을 지정할 수도 있습니다.