집 >데이터 베이스 >MySQL 튜토리얼 >여러 UNION된 SQL 쿼리의 결과를 정렬하려면 어떻게 해야 합니까?
UNION을 사용하여 결합된 SQL 쿼리 결과 정렬
SQL에서 UNION
을 사용하여 여러 SELECT
문의 결과를 결합하는 경우 최종 출력을 정렬해야 할 수도 있습니다. UNION
의 주문 방식을 이해하는 것이 중요합니다.
다음 예를 고려해보세요.
<code class="language-sql">SELECT id, name, age FROM Student WHERE age < 20 UNION SELECT id, name, age FROM Student WHERE age > 30;</code>
단순히 각 개별 ORDER BY
문에 SELECT
절을 추가하는 것만으로는 최종 결합 결과를 주문하지 않습니다. 각 하위 쿼리 내의 ORDER BY
절은 결합되기 전 특정 하위 쿼리의 결과에만 관련됩니다.
결합된 결과 집합을 올바르게 정렬하려면 ORDER BY
절을 마지막 문 뒤에UNION
배치하세요.
<code class="language-sql">SELECT id, name, age FROM Student WHERE age < 20 UNION SELECT id, name, age FROM Student WHERE age > 30 ORDER BY name;</code>
이 수정된 쿼리에서 ORDER BY name
절은 UNION
작업으로 생성된 전체 데이터 세트에 적용됩니다. 결합된 결과는 단일 테이블로 처리된 다음 name
열을 기준으로 알파벳순으로 정렬됩니다. 이렇게 하면 어떤 원래 하위 쿼리가 데이터에 기여했는지에 관계없이 올바른 순서가 보장됩니다.
위 내용은 여러 UNION된 SQL 쿼리의 결과를 정렬하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!