MySQL의 ORDER BY 절은 지정된 열을 기준으로 쿼리 결과를 정렬하는 데 사용됩니다. 오름차순(ASC) 및 내림차순(DESC) 정렬을 지원하며 여러 열을 동시에 정렬할 수 있습니다. NULL 값은 일반적으로 가장 작은 값으로 처리되지만 COALESCE() 함수를 사용하면 가장 큰 값으로 처리할 수 있다. ORDER BY 절을 사용하면 표현식을 사용한 정렬도 가능하며 인덱스 생성, 포함 인덱스 사용, 반환되는 행 수 제한을 통해 정렬 성능을 최적화할 수 있습니다.
MySQL의 ORDER BY 사용법
ORDER BY 절의 용도
ORDER BY 절은 쿼리 결과를 특정 순서로 표시하도록 정렬하는 데 사용됩니다. 지정된 표현식이나 열을 기반으로 데이터 행을 정렬합니다.
기본 구문:
<code class="sql">SELECT column_list FROM table_name ORDER BY column_name [ASC | DESC];</code>
다중 열 정렬
여러 열을 동시에 정렬할 수 있습니다. 각 정렬 열은 쉼표로 구분되며 우선순위에 따라 왼쪽에서 오른쪽으로 정렬됩니다. 예:
<code class="sql">SELECT * FROM table_name ORDER BY last_name ASC, first_name DESC;</code>
이것은 먼저 성을 기준으로 오름차순으로 정렬한 다음, 성이 같으면 이름을 기준으로 내림차순으로 정렬합니다.
NULL 값 정렬
NULL 값은 일반적으로 정렬 시 가장 작은 값으로 처리됩니다. 내림차순으로 정렬할 때 NULL 값을 가장 큰 값으로 처리하려면 COALESCE() 함수를 사용하여 NULL이 아닌 값으로 바꾸면 됩니다. 예:
<code class="sql">SELECT * FROM table_name ORDER BY COALESCE(salary, 0) DESC;</code>
표현식을 사용하여 주문
열 이름 대신 ORDER BY 절에 표현식을 사용할 수 있습니다. 표현식에는 상수, 함수 및 연산자가 포함될 수 있습니다. 예를 들어 연령대별 정렬은 다음과 같습니다.
<code class="sql">SELECT * FROM table_name ORDER BY CASE WHEN age < 18 THEN 'Minor' WHEN age >= 18 AND age < 65 THEN 'Adult' ELSE 'Senior' END;</code>
정렬 성능 최적화
대규모 데이터 세트를 정렬할 때는 정렬 성능을 최적화하는 것이 매우 중요합니다. 다음 기술을 사용할 수 있습니다.
위 내용은 mysql에서 orderby를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!