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

9.16. 하위 사설 토토 표현식

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

9.16.1. 존재함

존재함(하위 사설 토토 )

의 주장존재함은 임의선택문장 또는하위 사설 토토. 하위 사설 토토는 다음과 같이 평가됩니다. 행을 반환하는지 여부를 확인합니다. 최소한 반환된다면 한 행, 결과:존재함is"사실"; 하위 사설 토토가 아니요를 반환하는 경우 행, 결과존재함is"거짓".

하위 사설 토토는 주변 변수를 참조할 수 있습니다. 쿼리는 한 번의 평가 중에 상수 역할을 합니다. 하위 사설 토토입니다.

하위 사설 토토는 일반적으로 다음을 수행할 수 있을 만큼만 실행됩니다. 적어도 하나의 행이 반환되는지 여부를 확인합니다. 완료. 하위 사설 토토를 작성하는 것은 현명하지 않습니다. 부작용(예: 시퀀스 함수 호출) 여부 부작용이 발생할지 예측하기 어려울 수 있습니다.

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

이 간단한 예는 내부 조인과 같습니다.col2, 그러나 최대 하나의 출력 행을 생성합니다. 각각탭1행, 존재하는 경우에도 다중 일치탭2행:

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

9.16.2. IN

표현IN (하위 사설 토토)

오른쪽은 괄호로 묶인 하위 사설 토토입니다. 정확히 하나의 열을 반환합니다. 왼손 표현은 하위 사설 토토 결과의 각 행을 평가하고 비교합니다. 는 결과IN이다"사실"동일한 하위 사설 토토 행이 발견된 경우. 는 결과는"거짓"같은 행이 없는 경우 발견됨(하위 사설 토토가 no를 반환하는 특수한 경우 포함) 행).

왼쪽 표현식이 null을 산출하거나 동일한 오른쪽 값이 없으며 적어도 하나의 값이 있습니다. 오른쪽 행은 null을 생성하며, 결과는IN구성은 false가 아닌 null이 됩니다. 이것은 부울 조합에 대한 SQL의 일반 규칙에 따라 null 값입니다.

다음과 같이존재함, 가정하는 것은 현명하지 못해요 하위 사설 토토가 완전히 평가됩니다.

(표현 [, 표현 ...]) IN (하위 사설 토토)

이 형태의 오른쪽IN은 괄호로 묶인 하위 사설 토토이며 반환해야 합니다. 정확히 표현식에 있는 열 수만큼 왼쪽 목록. 왼쪽 표현식이 평가되고 하위 사설 토토 결과의 각 행을 행별로 비교합니다. 는 결과INis"사실"동일한 하위 사설 토토 행이 발견된 경우. 는 결과는"거짓"같은 행이 없는 경우 발견됨(하위 사설 토토가 no를 반환하는 특수한 경우 포함) 행).

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

9.16.3. 포함되지 않음

표현다음에 없음(하위 사설 토토)

오른쪽은 괄호로 묶인 하위 사설 토토입니다. 정확히 하나의 열을 반환합니다. 왼손 표현은 하위 사설 토토 결과의 각 행을 평가하고 비교합니다. 는 결과포함되지 않음is"사실"같지 않은 하위 사설 토토 행만 발견된 경우 (하위 사설 토토가 다음을 반환하지 않는 특별한 경우 포함) 행). 결과는 다음과 같습니다"거짓"있는 경우 동일한 행이 발견되었습니다.

왼쪽 표현식이 null을 산출하거나, 동일한 오른쪽 값이 없으며 적어도 하나의 값이 있습니다. 오른쪽 행은 null을 생성하며, 결과는포함되지 않음구성은 null이 되며 true가 아닙니다. 이것은 부울 조합에 대한 SQL의 일반 규칙에 따라 null 값입니다.

와 마찬가지로존재함, 가정하는 것은 현명하지 못해요 하위 사설 토토가 완전히 평가됩니다.

(표현 [, 표현 ...]) 없음 (하위 사설 토토)

이 형태의 오른쪽아님 안으로은 괄호로 묶인 하위 사설 토토로, 정확하게 반환해야 합니다. 왼쪽 목록에 있는 표현식 수만큼의 열입니다. 왼쪽 표현식은 행별로 평가되고 비교됩니다. 하위 사설 토토 결과의 각 행에. 결과는포함되지 않음is"사실"만일 같지 않은 하위 사설 토토 행만 발견됩니다(특수 쿼리 포함). 하위 사설 토토가 행을 반환하지 않는 경우) 결과는 다음과 같습니다"거짓"동일한 행이 있는 경우 찾았습니다.

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

9.16.4. 모두/일부

표현 연산자모두(하위 사설 토토)
표현 연산자일부 (하위 사설 토토)

오른쪽은 괄호로 묶인 하위 사설 토토입니다. 정확히 하나의 열을 반환합니다. 왼손 표현은 다음을 사용하여 하위 사설 토토 결과의 각 행을 평가하고 비교합니다. 주어진연산자, 반드시 부울 결과를 산출합니다. 결과는모두is"사실입니다"있는 경우 진정한 결과가 얻어집니다. 결과는 다음과 같습니다"거짓"참된 결과가 발견되지 않은 경우(포함 하위 사설 토토가 행을 반환하지 않는 특별한 경우).

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

성공이 없고 적어도 하나의 성공이 없다면 오른쪽 행은 연산자 결과에 대해 null을 생성합니다. 의 결과모두구조는 다음과 같습니다 null, false가 아닙니다. 이는 SQL의 일반적인 규칙에 따른 것입니다. null 값의 부울 조합의 경우.

다음과 같이존재함, 가정하는 것은 현명하지 못해요 하위 사설 토토가 완전히 평가됩니다.

(표현 [, 표현 ...]) 연산자모두(하위 사설 토토)
(표현 [, 표현 ...]) 연산자일부(하위 사설 토토)

이 형태의 오른쪽모두은 괄호로 묶인 하위 사설 토토이며 반환해야 합니다. 정확히 표현식에 있는 열 수만큼 왼쪽 목록. 왼쪽 표현식이 평가되고 다음을 사용하여 하위 사설 토토 결과의 각 행을 행별로 비교합니다. 주어진연산자. 현재는 만=그리고<연산자는 행 단위로 허용됩니다.모두구조물. 결과는모두is"사실"있는 경우 같거나 같지 않은 행이 각각 발견됩니다. 결과는 다음과 같습니다"거짓"해당 행을 찾을 수 없는 경우 (하위 사설 토토가 다음을 반환하지 않는 특별한 경우 포함) 행).

평소와 같이 행의 null 값은 다음과 같이 결합됩니다. SQL 부울 표현식의 일반적인 규칙입니다. 두 행은 모든 해당 구성원이 동일한 경우 동등한 것으로 간주됩니다. null이 아니고 같음; 해당하는 행이 있으면 행이 동일하지 않습니다. 멤버는 null이 아니고 동일하지 않습니다. 그렇지 않으면 그 결과 행 비교를 알 수 없습니다(null). null이 하나라도 있는 경우 행 결과 다음의 결과는모두거짓일 수 없습니다. true 또는 null이 됩니다.

9.16.5. 전체

표현 연산자전체 (하위 사설 토토)

오른쪽은 괄호로 묶인 하위 사설 토토입니다. 정확히 하나의 열을 반환합니다. 왼손 표현은 다음을 사용하여 하위 사설 토토 결과의 각 행을 평가하고 비교합니다. 주어진연산자, 반드시 부울 결과를 산출합니다. 결과는전체is"사실"모두라면 행은 true를 산출합니다(하위 사설 토토가 있는 특수한 경우 포함). 행을 반환하지 않음) 결과는 다음과 같습니다"거짓"잘못된 결과가 발견된 경우.

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

실패는 없지만 적어도 하나의 실패가 있는 경우 오른쪽 행은 연산자 결과에 대해 null을 생성합니다. 의 결과전체구조물은 다음과 같습니다 null, 사실이 아닙니다. 이는 SQL의 일반적인 규칙에 따른 것입니다. null 값의 부울 조합의 경우.

와 마찬가지로존재함, 가정하는 것은 현명하지 못해요 하위 사설 토토가 완전히 평가됩니다.

(표현 [, 표현 ...]) 연산자전체 (하위 사설 토토)

이 형태의 오른쪽전체은 괄호로 묶인 하위 사설 토토이며 반환해야 합니다. 정확히 표현식에 있는 열 수만큼 왼쪽 목록. 왼쪽 표현식이 평가되고 다음을 사용하여 하위 사설 토토 결과의 각 행을 행별로 비교합니다. 주어진연산자. 현재는 만=그리고<연산자는 행 단위로 허용됩니다.전체사설 토토. 결과는전체is"사실"모두라면 하위 사설 토토 행이 각각 같거나 같지 않습니다( 하위 사설 토토가 행을 반환하지 않는 특별한 경우). 결과는 다음과 같습니다"거짓"행이 발견되면 각각 같지 않거나 같습니다.

평소와 같이 행의 null 값은 다음과 같이 결합됩니다. SQL 부울 표현식의 일반적인 규칙입니다. 두 행은 모든 해당 구성원이 동일한 경우 동등한 것으로 간주됩니다. null이 아니고 같음; 해당하는 행이 있으면 행이 동일하지 않습니다. 멤버는 null이 아니고 동일하지 않습니다. 그렇지 않으면 그 결과 행 비교를 알 수 없습니다(null). null이 하나라도 있는 경우 행 결과 다음의 결과는전체사실일 수 없습니다. false 또는 null이 됩니다.

9.16.6. 행별 비교

(표현 [, 표현 ...]) 연산자 (하위 사설 토토)

왼쪽은 스칼라 표현식 목록입니다. 는 오른쪽은 괄호로 묶인 하위 사설 토토이며 반환해야 합니다. 표현식에 있는 열 수와 정확히 일치합니다. 왼쪽. 또한 하위 사설 토토는 더 이상 반환할 수 없습니다. 한 행보다 (0개의 행을 반환하는 경우 결과는 null이어야 합니다.) 왼쪽은 행 단위로 평가되고 비교됩니다. 단일 하위 사설 토토 결과 행에. 현재는 만=그리고<연산자는 행별 비교에 허용됩니다. 결과는 다음과 같습니다"사실"두 행이 같거나 각각 불평등합니다.

평소와 같이 행의 null 값은 다음과 같이 결합됩니다. SQL 부울 표현식의 일반적인 규칙입니다. 두 행은 모든 해당 구성원이 동일한 경우 동등한 것으로 간주됩니다. null이 아니고 같음; 해당하는 행이 있으면 행이 동일하지 않습니다. 멤버는 null이 아니고 동일하지 않습니다. 그렇지 않으면 결과는 행 비교를 알 수 없습니다(null).