> 데이터 베이스 > MySQL 튜토리얼 > SQL UNION의 결과를 올바르게 정렬하는 방법은 무엇입니까?

SQL UNION의 결과를 올바르게 정렬하는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2025-01-11 06:03:42
원래의
428명이 탐색했습니다.

How to Properly Order Results from a SQL UNION?

UNION 및 SQL 정렬

SQL에서 UNION 연산자를 사용하면 여러 SELECT 문을 단일 결과 집합으로 결합할 수 있습니다. 그러나 각 SELECT 문이 서로 다른 데이터를 반환할 수 있는 경우 결합된 데이터를 정렬하는 것이 까다로울 수 있습니다.

두 가지 기준에 따라 Student 테이블에서 데이터를 검색하는 다음 쿼리를 고려해 보세요.

<code class="language-sql">SELECT id, name, age
FROM Student
WHERE age > 20
UNION
SELECT id, name, age
FROM Student
WHERE Name LIKE "%a%";</code>
로그인 후 복사

결합된 결과 집합을 이름 열을 기준으로 정렬하려고 합니다. 안타깝게도 다음 쿼리는 예상대로 작동하지 않습니다.

<code class="language-sql">SELECT id, name, age
FROM Student
WHERE age > 20
ORDER BY name;</code>
로그인 후 복사

이 쿼리에서는 UNION의 전체 결과 집합이 아닌 WHERE 조건의 결합된 결과에 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 Name LIKE "%a%"
ORDER BY name;</code>
로그인 후 복사

이 수정된 쿼리에서는 ORDER BY 절이 전체 결과 집합에 적용되어 결합된 데이터가 올바르게 정렬되도록 합니다.

위 내용은 SQL UNION의 결과를 올바르게 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿