9.23. 하위 쿼리 표현

이 섹션은를 설명합니다.SQL-이용할 수있는postgresql. 이 섹션에 기록 된 모든 표현식 양식은 부울 (True/False) 결과를 반환합니다.

9.23.1. 존재

존재 (SubQuery)

의 주장존재임의입니다select성명서 또는SubQuery. 하위 사설 토토 사이트는 행을 반환하는지 여부를 결정하기 위해 평가됩니다. 하나 이상의 행을 반환하면 결과는존재isTrue; 하위 사설 토토 사이트가 행을 반환하지 않으면의 결과는존재is거짓.

하위 사설 토토 사이트는 주변 사설 토토 사이트의 변수를 참조 할 수 있으며, 이는 하위 사설 토토 사이트를 한 번 평가하는 동안 상수로 작용할 수 있습니다.

서브 사설 토토 사이트는 일반적으로 완료하는 데 최종적으로 한 행 이상이 반환되는지 여부를 결정하기에 충분히 오래 실행됩니다. 부작용이있는 하위 사설 토토 사이트 (예 : 호출 시퀀스 함수)를 쓰는 것은 현명하지 않습니다. 부작용이 발생하는지 여부는 예측할 수 없을 수 있습니다.

결과는 행이 반환되는지 여부에만 의존하므로 해당 행의 내용이 아닌 하위 사설 토토 사이트의 출력 목록은 일반적으로 중요하지 않습니다. 일반적인 코딩 협약은 모든 것을 쓰는 것입니다존재양식의 테스트존재합니다 (Select 1 where ...). 그러나이 규칙에는 사용하는 하위 사설 토토 사이트와 같은 예외가 있습니다Intersect.

이 간단한 예제는 내부 조인과 같습니다col2하지만 각각 1 개의 출력 행을 생성합니다tab1행, 몇 가지 일치하는 경우에도tab2행 :

col1을 선택하십시오
Tab1에서
존재하는 곳 (tab2에서 1을 선택하여 col2 = tab1.col2);

9.23.2. in

표현in (SubQuery)

오른쪽은 괄호로 된 서브 쿼리이며 정확히 하나의 열을 반환해야합니다. 왼쪽 표현식이 평가되고 하위 퀘스트 결과의 각 행과 비교됩니다. 의 결과inisTrue동일한 하위 사설 토토 사이트 행이있는 경우. 결과는입니다.false동일한 행이 발견되지 않은 경우 (하위 사설 토토 사이트가 행이없는 경우를 포함하여)..

왼쪽 표현이 널을 생산하거나 같은 오른쪽 값이없고 적어도 하나의 오른쪽 행이 NULL을 생산하는 경우in구성은 false가 아닌 null이됩니다. 이것은 널 값의 부울 조합에 대한 SQL의 정상 규칙에 따른 것입니다.

with존재, 하위 사설 토토 사이트가 완전히 평가 될 것이라고 가정하는 것은 현명하지 않습니다.

row_constructorin (SubQuery)

이 형태의 왼쪽in에 설명 된대로 행 생성자입니다.섹션 4.2.13. 오른쪽은 괄호로 된 서브 쿼리이며 왼쪽 행에 표현식이있는 것만 큼 많은 열을 반환해야합니다. 왼쪽 표현식은 평가 및 하위 퀘스트 결과의 각 행과 비교됩니다. 의 결과inistrue동일한 하위 사설 토토 사이트 행이있는 경우. 결과는입니다.거짓동일한 행이없는 경우 (하위 사설 토토 사이트가 행없는 경우를 포함한 경우)..

평소와 같이 행의 널 값은 SQL 부울 표현식의 일반 규칙에 따라 결합됩니다. 해당하는 모든 멤버가 무감각하고 같으면 두 행이 동일하게 간주됩니다. 해당 구성원이 널이없고 불평등 한 경우 행은 불평등합니다. 그렇지 않으면 해당 행 비교의 결과는 알려지지 않았습니다 (null). 모든 약당 결과가 불평등하거나 널이면 적어도 하나의 널이 있으면의 결과는입니다.inis null.

9.23.3. 

표현in (SubQuery)

오른쪽은 괄호로 된 서브 쿼리이며 정확히 하나의 열을 반환해야합니다. 왼쪽 표현식이 평가되고 하위 퀘스트 결과의 각 행과 비교됩니다. 의 결과istrue불평등 한 서브 사설 토토 사이트 행만 발견되면 (하위 사설 토토 사이트가 행을 반환하는 경우 포함). 결과는입니다.거짓동일한 행이있는 경우.

왼쪽 표현식이 NULL을 생산하거나 동일한 오른쪽 값이없고 적어도 하나의 오른쪽 행이 NULL을 얻는 경우의 결과가.구성은 사실이 아니라 무효가됩니다. 이것은 널 값의 부울 조합에 대한 SQL의 정상 규칙에 따른 것입니다.

with존재, 하위 사설 토토 사이트가 완전히 평가 될 것이라고 가정하는 것은 현명하지 않습니다.

row_constructorin (SubQuery)

이 형태의 왼쪽에 설명 된대로 행 생성자입니다.섹션 4.2.13. 오른쪽은 괄호로 된 서브 쿼리이며 왼쪽 행에 표현식이있는 것만 큼 많은 열을 반환해야합니다. 왼쪽 표현식은 평가 및 하위 퀘스트 결과의 각 행과 비교됩니다. 의 결과istrue불평등 한 서브 사설 토토 사이트 행만 발견되는 경우 (하위 사설 토토 사이트가 행이없는 경우 포함). 결과는입니다.거짓동일한 행이있는 경우.

평소와 같이 행의 널 값은 SQL 부울 표현식의 일반 규칙에 따라 결합됩니다. 해당하는 모든 멤버가 무감각하고 같으면 두 행이 동일하게 간주됩니다. 해당 구성원이 널이없고 불평등 한 경우 행은 불평등합니다. 그렇지 않으면 해당 행 비교의 결과는 알려지지 않았습니다 (null). 모든 약당 결과가 불평등하거나 널이면 적어도 하나의 널이 있으면의 결과는입니다.is null.

9.23.4. Any/일부

표현 운영자any (SubQuery)표현 운영자일부 (SubQuery)

오른쪽은 괄호로 된 서브 쿼리이며 정확히 하나의 열을 반환해야합니다. 왼쪽 표현식이 평가되고 주어진 것을 사용하여 하위 퀘스트 결과의 각 행과 비교됩니다.운영자, 부울 결과를 낳아야합니다. 의 결과anyistrue실제 결과가 얻은 경우. 결과는입니다.거짓실제 결과가 발견되지 않은 경우 (하위 사설 토토 사이트가 행없는 경우를 포함한 경우)..

일부동의어any. in= Any.

성공이없고 적어도 하나의 오른쪽 행이 운영자의 결과에 null을 얻는 경우의 결과는any구성은 거짓이 아닌 null이됩니다. 이것은 널 값의 부울 조합에 대한 SQL의 정상 규칙에 따른 것입니다.

with존재, 하위 사설 토토 사이트가 완전히 평가 될 것이라고 가정하는 것은 현명하지 않습니다.

row_constructor 운영자any (SubQuery)row_constructor 운영자일부 (Subquery)

이 형태의 왼쪽any에 설명 된대로 행 생성자입니다.22209_22230. 오른쪽은 괄호로 된 서브 쿼리이며 왼쪽 행에 표현식이있는 것만 큼 많은 열을 반환해야합니다. 왼쪽 표현식은 주어진 퀘스트를 사용하여 하위 쿼리 결과의 각 행과 비교하여 평가되고 비교됩니다.운영자. 의 결과Anyistrue비교가 하위 쿼리 행에 대해 true를 반환하는 경우. 결과는입니다.거짓비교가 모든 서브 쿼리 행에 대해 거짓을 반환하는 경우 (하위 쿼리가 행이없는 경우). 하위 쿼리 행과 비교하지 않으면 결과는 널입니다. 적어도 하나의 비교는 null을 반환합니다.

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

9.23.5. all

표현 운영자ALL (SubQuery)

오른쪽은 괄호로 된 하위 쿼리이며 정확히 하나의 열을 반환해야합니다. 왼쪽 표현식이 평가되고 주어진 것을 사용하여 하위 퀘스트 결과의 각 행과 비교됩니다.운영자, 부울 결과를 낳아야합니다. 의 결과allistrue모든 행이 true를 산출하는 경우 (서브 쿼리가 행이없는 경우 포함). 결과는입니다.거짓잘못된 결과가 발견 된 경우. 하위 사설 토토 사이트 행과 비교하지 않으면 결과는 널입니다. 적어도 하나의 비교가 널 리턴됩니다..

와 동일합니다< all.

with존재, 하위 사설 토토 사이트가 완전히 평가 될 것이라고 가정하는 것은 현명하지 않습니다.

row_constructor 운영자ALL (SubQuery)

이 형태의 왼쪽all에 설명 된대로 행 생성자입니다.섹션 4.2.13. 오른쪽은 괄호로 된 서브 쿼리이며 왼쪽 행에 표현식이있는 것만 큼 많은 열을 반환해야합니다. 왼쪽 표현식은 주어진 퀘스트를 사용하여 하위 쿼리 결과의 각 행과 비교하여 평가되고 비교됩니다.운영자. 의 결과allistrue비교가 모든 서브 쿼리 행에 대해 true를 반환하는 경우 (하위 퀘스트가 행이없는 경우 포함). 결과는입니다.거짓비교가 하위 사설 토토 사이트 행에 대해 False를 반환하는 경우. 하위 사설 토토 사이트 행과 비교하지 않으면 결과는 널입니다. 적어도 하나의 비교가 널 리턴됩니다..

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

9.23.6. 단일 줄 비교

row_constructor 운영자(SubQuery)

왼쪽은에 설명 된 바와 같이 행 생성자입니다.섹션 4.2.13. 오른쪽은 괄호로 된 서브 쿼리이며 왼쪽 행에 표현식이있는 것만 큼 많은 열을 반환해야합니다. 또한 하위 쿼리는 둘 이상의 행을 반환 할 수 없습니다. (0 행을 반환하는 경우 결과는 Null로 표시됩니다.) 왼쪽이 평가되어 단일 서브 쿼리 결과 행과 비교됩니다..

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

정정 제출

문서에 올바른 것이 없으면 일치하지 않습니다. 특정 기능에 대한 귀하의 경험 또는 추가 설명이 필요합니다. 사용이 양식문서 문제를보고하려면