세트 운영 조합, 교차로 및 차이를 사용하여 두 쿼리의 결과를 결합 할 수 있습니다. 구문은
Query1
Union [all]Query2
Query1
교차 [all]Query2
Query1
[ 제외all]Query2
여기서Query1
및Query2
이 시점까지 논의 된 기능을 사용할 수있는 쿼리입니다.
Union
효과적으로Query2
결과에Query1
(이것이 행이 실제로 반환되는 순서임을 보장하지는 않지만). 또한 결과에서와 같은 방식으로 결과에서 중복 행을 제거합니다.별도의
,Union All
사용됩니다.
Intersect
둘 다 결과에있는 모든 행을 반환합니다Query1
그리고 결과에서Query2
. 중복 행이 제거되지 않으면 제거됩니다모두 교차
사용됩니다.
제외
결과에있는 모든 행을 반환합니다Query1
그러나 결과는Query2
. (이것은 때때로라고 불립니다.차이두 쿼리 사이.) 다시 한 번, 복제는 제거됩니다모두를 제외하고
사용됩니다.
노조, 교차로 또는 두 쿼리의 차이를 계산하려면 두 쿼리가 있어야합니다.“Union Compatible”, 이는 동일한 수의 열을 반환하고 해당 열에는 호환되는 데이터 유형을 가지고 있음을 의미합니다.토토 캔 PostgreSQL : 문서 : 10 : 10.5. 연합, 사례 및 관련 구성.
예를 들어 설정 작업을 결합 할 수 있습니다
Query1
UnionQuery2
제외Query3
(Query1
UnionQuery2
) 제외Query3
여기에 표시된대로 괄호를 사용하여 평가 순서를 제어 할 수 있습니다. 괄호없이Union
및제외
왼쪽에서 오른쪽으로 연결하지만Intersect
두 연산자보다 더 단단히 바인딩합니다. 따라서
Query1
UnionQuery2
IntersectQuery3
평균
Query1
Union (Query2
IntersectQuery3
)
개인을 둘러싼도쿼리
괄호와 함께. 이면 중요합니다.쿼리
다음과 같은 섹션에서 논의 된 조항을 사용해야합니다.Limit
. 괄호가 없으면 구문 오류가 발생하거나 그렇지 않으면 조항이 입력 중 하나가 아닌 설정 작업의 출력에 적용되는 것으로 이해됩니다.
a를 선택하여 B Union을 선택하십시오 x 선택 y Limit 10
수락되었지만 의미
(B Union From x Select y y) 제한 10
not
B Union에서 A를 선택하십시오 (Y Limit 10)