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

MySQL에서 쿼리에 포함되지 않은 열을 기준으로 정렬 순서를 지정하는 방법

MySQL에서 테이블의 데이터를 특정 기준에 따라 정렬하려면 ORDER BY 절을 사용합니다. 일반적으로 ORDER BY 키워드 뒤에 정렬하고자 하는 열의 이름을 작성하면 됩니다.

여기서 중요한 점은, ORDER BY 절에서 정렬 기준으로 사용한 열이 반드시 SELECT 문 뒤에 포함되어 있어야 하는 것은 아니라는 사실입니다. 즉, 쿼리 결과에 해당 열이 조회되지 않더라도 그 열을 기준으로 정렬할 수 있습니다.

예제

다음 예제는 'ratelist' 테이블에서 'Sr'과 'Item' 두 열만 조회하면서, SELECT 문에는 없는 'Price' 열을 기준으로 오름차순 정렬한 결과입니다.

mysql> Select Sr, Item from ratelist ORDER BY Price;
+----+------+
| Sr | Item |
+----+------+
|  5 | T    |
|  1 | A    |
|  2 | B    |
|  4 | h    |
|  3 | C    |
+----+------+
5 rows in set (0.00 sec)

위 예제를 살펴보면, SELECT 키워드 뒤에는 'Sr'과 'Item' 열만 작성했지만, ORDER BY 키워드 뒤에는 별도로 지정한 'Price' 열을 기준으로 테이블이 정렬된 것을 확인할 수 있습니다.

이는 MySQL 쿼리가 테이블을 정렬하는 데 사용된 열 자체는 결과 집합에 검색하지 않는다는 의미입니다. 따라서 사용자에게 보여줄 필요가 없는 내부적인 정렬 기준 열을 활용해야 할 때 이 방식이 매우 유용합니다.