이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.PostgreSQL : 문서 : 17 : 9.24. 하위 사설 토토 사이트 표현버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

9.22. 하위 토토 베이 표현식

이 섹션에서는 다음에 대해 설명합니다.SQL에서 사용 가능한 호환 하위 토토 베이 표현식포스트그레SQL. 이 섹션에 설명된 모든 표현식 형식은 부울(true/false) 결과를 반환합니다.

9.22.1. 존재함

존재함(하위 토토 베이)

의 주장존재함임의적임선택문장 또는하위 토토 베이. 하위 토토 베이를 평가하여 행을 반환하는지 여부를 확인합니다. 하나 이상의 행을 반환하는 경우 결과는존재함is; 하위 토토 베이가 행을 반환하지 않으면 다음 결과는존재함is거짓.

하위 토토 베이는 하위 토토 베이를 평가하는 동안 상수 역할을 하는 주변 쿼리의 변수를 참조할 수 있습니다.

하위 토토 베이는 일반적으로 완료될 때까지 실행되지 않고 최소한 하나의 행이 반환되는지 여부를 결정할 수 있을 만큼만 실행됩니다. 부작용(예: 시퀀스 함수 호출)이 있는 하위 토토 베이를 작성하는 것은 현명하지 않습니다. 부작용이 발생하는지 여부는 예측할 수 없습니다.

결과는 행의 내용이 아닌 행이 반환되는지 여부에만 의존하기 때문에 하위 토토 베이의 출력 목록은 일반적으로 중요하지 않습니다. 일반적인 코딩 규칙은 모두 작성하는 것입니다.존재함양식에서 테스트존재함(어디에서 1개 선택 ...). 그러나 이 규칙에는 다음을 사용하는 하위 토토 베이와 같은 예외가 있습니다.교차.

이 간단한 예는 내부 조인과 같습니다.col2, 그러나 각각에 대해 최대 하나의 출력 행을 생성합니다.탭1행, 일치하는 항목이 여러 개 있더라도탭2행:

열 1 선택
탭1에서
존재하는 곳(col2 = tab1.col2인 tab2에서 1 선택);

9.22.2. IN

표현IN (하위 토토 베이)

오른쪽은 정확히 하나의 열을 반환해야 하는 괄호로 묶인 하위 토토 베이입니다. 왼쪽 표현식이 평가되어 하위 토토 베이 결과의 각 행과 비교됩니다. 결과는INis동일한 하위 토토 베이 행이 발견된 경우. 결과는 다음과 같습니다거짓동일한 행이 발견되지 않은 경우(하위 토토 베이가 행을 반환하지 않는 경우 포함).

왼쪽 표현식이 null을 생성하거나 동일한 오른쪽 값이 없고 적어도 하나의 오른쪽 행이 null을 생성하는 경우, 다음의 결과에 유의하세요.IN구성은 false가 아닌 null이 됩니다. 이는 null 값의 부울 조합에 대한 SQL의 일반 규칙을 따릅니다.

다음과 같이존재함, 하위 토토 베이가 완전히 평가될 것이라고 가정하는 것은 현명하지 않습니다.

row_constructorIN (하위 토토 베이)

이 형태의 왼쪽IN은(는) 설명된 대로 행 생성자입니다.섹션 4.2.13. 오른쪽은 괄호로 묶인 하위 토토 베이로, 왼쪽 행에 있는 표현식과 정확히 같은 수의 열을 반환해야 합니다. 왼쪽 표현식은 하위 토토 베이 결과의 각 행과 행별로 평가되고 비교됩니다. 결과는INis동일한 하위 토토 베이 행이 발견된 경우. 결과는 다음과 같습니다거짓동일한 행이 발견되지 않은 경우(하위 토토 베이가 행을 반환하지 않는 경우 포함).

평소와 같이 행의 null 값은 SQL 부울 표현식의 일반 규칙에 따라 결합됩니다. 해당하는 모든 멤버가 null이 아니고 동일한 경우 두 행은 동일한 것으로 간주됩니다. 해당 멤버가 null이 아니고 동일하지 않은 경우 행은 동일하지 않습니다. 그렇지 않으면 해당 행 비교 결과를 알 수 없습니다(null). 모든 행별 결과가 같지 않거나 Null이고 하나 이상의 Null이 있는 경우 다음 결과는IN널입니다.

9.22.3. 포함되지 않음

표현다음에 없음(하위 토토 베이)

오른쪽은 정확히 하나의 열을 반환해야 하는 괄호로 묶인 하위 토토 베이입니다. 왼쪽 표현식이 평가되어 하위 토토 베이 결과의 각 행과 비교됩니다. 결과는포함되지 않음is같지 않은 하위 토토 베이 행만 발견된 경우(하위 토토 베이가 행을 반환하지 않는 경우 포함) 결과는 다음과 같습니다거짓동일한 행이 발견된 경우.

왼쪽 표현식이 null을 생성하거나 동일한 오른쪽 값이 없고 적어도 하나의 오른쪽 행이 null을 생성하는 경우, 다음의 결과에 유의하세요.포함되지 않음구성은 null이 되며 true가 아닙니다. 이는 null 값의 부울 조합에 대한 SQL의 일반 규칙을 따릅니다.

다음과 같이존재함, 하위 토토 베이가 완전히 평가될 것이라고 가정하는 것은 현명하지 않습니다.

row_constructor다음에 없음(하위 토토 베이)

이 형태의 왼쪽포함되지 않음는 다음에 설명된 대로 행 생성자입니다.섹션 4.2.13. 오른쪽은 괄호로 묶인 하위 토토 베이로, 왼쪽 행에 있는 표현식과 정확히 같은 수의 열을 반환해야 합니다. 왼쪽 표현식은 하위 토토 베이 결과의 각 행과 행별로 평가되고 비교됩니다. 결과는포함되지 않음is사실같지 않은 하위 토토 베이 행만 발견된 경우(하위 토토 베이가 행을 반환하지 않는 경우 포함) 결과는 다음과 같습니다거짓동일한 행이 발견된 경우.

평소와 같이 행의 null 값은 SQL 부울 표현식의 일반 규칙에 따라 결합됩니다. 해당하는 모든 멤버가 null이 아니고 동일한 경우 두 행은 동일한 것으로 간주됩니다. 해당 멤버가 null이 아니고 동일하지 않은 경우 행은 동일하지 않습니다. 그렇지 않으면 해당 행 비교 결과를 알 수 없습니다(null). 모든 행별 결과가 같지 않거나 Null이고 하나 이상의 Null이 있는 경우 다음 결과는포함되지 않음널입니다.

9.22.4. 모두/일부

표현 연산자모두(하위 토토 베이)
표현 연산자일부 (하위 토토 베이)

오른쪽은 정확히 하나의 열을 반환해야 하는 괄호로 묶인 하위 토토 베이입니다. 왼쪽 표현식은 주어진를 사용하여 하위 토토 베이 결과의 각 행과 평가되고 비교됩니다.연산자, 부울 결과를 생성해야 합니다. 결과는모두is참된 결과가 얻어지면. 결과는 다음과 같습니다거짓참된 결과가 발견되지 않은 경우(하위 토토 베이가 행을 반환하지 않는 경우 포함).

일부은의 동의어입니다모두. IN다음과 동일함= 모두.

성공이 없고 적어도 하나의 오른쪽 행이 연산자 결과에 대해 null을 산출하는 경우, 다음의 결과는모두구성은 false가 아닌 null이 됩니다. 이는 null 값의 부울 조합에 대한 SQL의 일반 규칙을 따릅니다.

다음과 같이존재함, 하위 토토 베이가 완전히 평가될 것이라고 가정하는 것은 현명하지 않습니다.

row_constructor 연산자모두(하위 토토 베이)
row_constructor 연산자일부 (하위 토토 베이)

이 형태의 왼쪽모두은(는) 설명된 대로 행 생성자입니다.섹션 4.2.13. 오른쪽은 괄호로 묶인 하위 토토 베이로, 왼쪽 행에 있는 표현식과 정확히 같은 수의 열을 반환해야 합니다. 왼쪽 표현식은 주어진를 사용하여 하위 토토 베이 결과의 각 행에 대해 행별로 평가되고 비교됩니다.연산자. 결과는모두is사실비교 결과 하위 토토 베이 행에 대해 true가 반환되는 경우. 결과는 다음과 같습니다거짓비교 결과 모든 하위 토토 베이 행에 대해 false가 반환되는 경우(하위 토토 베이가 행을 반환하지 않는 경우 포함) 하위 토토 베이 행과의 비교에서 true를 반환하지 않고 하나 이상의 비교에서 NULL을 반환하면 결과는 NULL입니다.

참조섹션 9.23.5행 생성자 비교의 의미에 대한 자세한 내용은.

9.22.5. 전체

표현 연산자전체 (하위 토토 베이)

오른쪽은 정확히 하나의 열을 반환해야 하는 괄호로 묶인 하위 토토 베이입니다. 왼쪽 표현식은 주어진를 사용하여 하위 토토 베이 결과의 각 행과 평가되고 비교됩니다.연산자, 부울 결과를 생성해야 합니다. 결과는전체is모든 행이 true를 반환하는 경우(하위 토토 베이가 행을 반환하지 않는 경우 포함) 결과는 다음과 같습니다거짓잘못된 결과가 발견된 경우. 하위 토토 베이 행과의 비교에서 false를 반환하지 않고 하나 이상의 비교에서 NULL을 반환하면 결과는 NULL입니다.

포함되지 않음다음과 동일함< 전체.

와 마찬가지로존재함, 하위 토토 베이가 완전히 평가될 것이라고 가정하는 것은 현명하지 않습니다.

row_constructor 연산자전체 (하위 토토 베이)

이 형태의 왼쪽전체는 다음에 설명된 행 생성자입니다.섹션 4.2.13. 오른쪽은 괄호로 묶인 하위 토토 베이로, 왼쪽 행에 있는 표현식과 정확히 같은 수의 열을 반환해야 합니다. 왼쪽 표현식은 주어진를 사용하여 하위 토토 베이 결과의 각 행에 대해 행별로 평가되고 비교됩니다.연산자. 결과는전체is비교가 모든 하위 토토 베이 행에 대해 true를 반환하는 경우(하위 토토 베이가 행을 반환하지 않는 경우 포함) 결과는 다음과 같습니다거짓비교 결과 하위 토토 베이 행에 대해 false가 반환되는 경우. 하위 토토 베이 행과의 비교에서 false를 반환하지 않고 하나 이상의 비교에서 NULL을 반환하면 결과는 NULL입니다.

참조섹션 9.23.5행 생성자 비교의 의미에 대한 자세한 내용은.

9.22.6. 단일 행 비교

row_constructor 연산자 (하위 토토 베이)

왼쪽은 다음에 설명된 대로 행 생성자입니다.섹션 4.2.13. 오른쪽은 괄호로 묶인 하위 토토 베이로, 왼쪽 행에 있는 표현식과 정확히 같은 수의 열을 반환해야 합니다. 또한 하위 토토 베이는 둘 이상의 행을 반환할 수 없습니다. (0개의 행을 반환하는 경우 결과는 null로 간주됩니다.) 왼쪽은 평가되고 단일 하위 토토 베이 결과 행과 행별로 비교됩니다.

참조섹션 9.23.5행 생성자 비교의 의미에 대한 자세한 내용은.