이 문서는 지원되지 않는 버전의 PostgreSQL을위한 것입니다.
당신은에 대해 같은 페이지를 볼 수 있습니다PostgreSQL : 문서 : 17 : 9.24. 하위 사설 토토 사이트 표현버전 또는 위에 나열된 다른 지원 버전 중 하나입니다.

9.22. 하위 쿼리 표현

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

9.22.1. 존재

존재 (SubQuery)

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

하위 스포츠 토토 결과는 주변 스포츠 토토 결과의 변수를 참조 할 수 있으며, 이는 하위 스포츠 토토 결과를 한 번 평가하는 동안 상수 역할을합니다.

하위 스포츠 토토 결과는 일반적으로 완료까지 끝나는 것이 아니라 적어도 하나의 행이 반환되는지 여부를 결정하기에 충분히 오래 실행됩니다. 부작용이있는 하위 스포츠 토토 결과 (예 : 호출 시퀀스 함수)를 쓰는 것은 현명하지 않습니다. 부작용이 발생하는지 여부는 예측할 수 없을 수 있습니다.

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

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

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

9.22.2. in

표현in (SubQuery)

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

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

with존재, 하위 스포츠 토토 결과가 완전히 평가 될 것이라고 가정하는 것은 현명하지 않습니다.

row_constructorin (SubQuery)

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

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

9.22.3. 

표현in (SubQuery)

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

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

with존재, 하위 스포츠 토토 결과가 완전히 평가 될 것이라고 가정하는 것은 현명하지 않습니다.

row_constructorin (SubQuery)

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

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

9.22.4. any/일부

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

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

일부|Any. in= ANY.

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

with존재, 하위 스포츠 토토 결과가 완전히 평가 될 것이라고 가정하는 것은 현명하지 않습니다.

row_constructor 운영자Any (SubQuery)row_constructor 운영자일부 (SubQuery)

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

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

9.22.5. all

표현 운영자ALL (SubQuery)

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

< all.

with존재, 하위 스포츠 토토 결과가 완전히 평가 될 것이라고 가정하는 것은 현명하지 않습니다.

row_constructor 운영자all (SubQuery)

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

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

9.22.6. 단일 줄 비교

row_constructor 운영자(SubQuery)

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

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