이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
다음에 대한 동일한 페이지를 보고 싶을 수도 있습니다.젠 토토 PostgreSQL : 문서 : 17 : 10.5. 연합, 사례 및 관련 구성버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

10.5. 유니언, 사례및 관련 구문#

SQL유니온구조는 단일 결과 세트가 되려면 서로 다른 윈 토토을 일치시켜야 합니다. 해결 알고리즘은 통합 쿼리의 각 출력 열에 별도로 적용됩니다.교차그리고제외구성은 다음과 같은 방식으로 서로 다른 유형을 해결합니다.유니온. 다음을 포함한 일부 다른 구성사례, 어레이, 그리고가장 훌륭함그리고최소함수, 동일한 알고리즘을 사용하여 구성요소 표현식을 일치시키고 결과 데이터 윈 토토을 선택합니다.

다음에 대한 유형 확인유니온, 사례및 관련 구문

  1. 모든 입력이 동일한 윈 토토이지만 그렇지 않은 경우알 수 없음, 해당 윈 토토으로 해결하세요.

  2. 입력이 도메인 윈 토토인 경우 모든 후속 단계에서 도메인의 기본 윈 토토으로 처리하십시오.[12]

  3. 모든 입력이 윈 토토인 경우알 수 없음, 윈 토토으로 해결텍스트(문자열 카테고리의 기본 윈 토토). 그렇지 않으면,알 수 없음나머지 규칙의 목적에 따라 입력이 무시됩니다.

  4. 알 수 없는 입력이 모두 동일한 윈 토토 카테고리가 아닌 경우 실패합니다.

  5. 알 수 없는 첫 번째 입력 유형을 후보 유형으로 선택한 다음 왼쪽에서 오른쪽으로 서로 알 수 없는 입력 유형을 고려하십시오.[13]후보 유형이 암시적으로 다른 유형으로 변환될 수 있지만 그 반대의 경우는 불가능하다면 다른 유형을 새 후보 유형으로 선택하십시오. 그런 다음 나머지 입력을 계속 고려하십시오. 이 프로세스의 어느 단계에서든 선호하는 유형이 선택되면 추가 입력 고려를 중단하세요.

  6. 모든 입력을 최종 후보 윈 토토으로 변환합니다. 주어진 입력 윈 토토에서 후보 윈 토토으로의 암시적 변환이 없으면 실패합니다.

몇 가지 예가 이어집니다.

예 10.10. 유니온에서 지정되지 않은 유형을 사용한 유형 확인

텍스트 'a' AS "텍스트" 선택 UNION SELECT 'b';

 텍스트
------
 에
 비
(2행)

여기서는 알 수 없는 윈 토토 리터럴'b'윈 토토으로 해결됩니다텍스트.


예제 10.11. Simple Union의 윈 토토 확인

SELECT 1.2 AS "숫자" UNION SELECT 1;

 숫자
---------
       1
     1.2
(2행)

리터럴1.2윈 토토입니다숫자그리고정수1암시적으로 캐스트 가능숫자이므로 해당 윈 토토이 사용됩니다.


예제 10.12. 전치된 공용체의 윈 토토 확인

SELECT 1 AS "실제" UNION SELECT CAST('2.2' AS REAL);

 진짜
------
    1
  2.2
(2행)

여기, 윈 토토 이후진짜암시적으로 캐스팅할 수 없습니다.정수하지만정수암시적으로 캐스팅될 수 있음진짜, 통합 결과 유형은 다음과 같이 확인됩니다.진짜.


예제 10.13. 중첩된 공용체의 윈 토토 확인

SELECT NULL UNION SELECT NULL UNION SELECT 1;

오류: UNION 유형의 텍스트와 정수는 일치할 수 없습니다.

이 실패는 다음과 같은 이유로 발생합니다.포스트그레SQL여러 항목을 처리유니온s는 쌍별 연산의 중첩입니다. 즉, 이 입력은 다음과 같습니다.

(SELECT NULL UNION SELECT NULL) UNION SELECT 1;

내부유니온발광 윈 토토으로 확인됨텍스트, 위에 주어진 규칙에 따릅니다. 그러면 바깥쪽유니온윈 토토의 입력이 있습니다텍스트그리고정수, 관찰된 오류로 이어집니다. 문제는 가장 왼쪽에 있는지 확인하여 해결할 수 있습니다.유니언원하는 결과 윈 토토의 입력이 하나 이상 있습니다.

교차그리고제외작업도 마찬가지로 쌍으로 해결됩니다. 그러나 이 섹션에 설명된 다른 구성은 하나의 해결 단계에서 모든 입력을 고려합니다.




[12]연산자 및 함수에 대한 도메인 입력 처리와 유사하게 이 동작을 통해 도메인 유형을 다음을 통해 보존할 수 있습니다.유니온또는 유사한 구성. 단, 사용자가 모든 입력이 암시적 또는 명시적으로 정확한 윈 토토인지 확인하도록 주의해야 합니다. 그렇지 않으면 도메인의 기본 윈 토토이 사용됩니다.

[13]역사적인 이유로,사례그것을 치료합니다ELSE절(있는 경우)을첫 번째입력, 다음과 함께그때다음 조항이 고려됩니다. 다른 모든 경우에는,왼쪽에서 오른쪽으로쿼리 텍스트에 표현식이 나타나는 순서를 의미합니다.