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

9.17. 행과 배열 비교

이 섹션에서는 다음을 위한 몇 가지 특화된 구성을 설명합니다. 값 그룹 간에 다중 비교를 수행합니다. 이러한 양식 구문적으로 이전 하위 쿼리 형식과 관련되어 있습니다. 섹션이지만 하위 쿼리는 포함하지 않습니다. 배열을 포함하는 형태 하위 표현식은 다음과 같습니다.포스트그레SQL확장; 나머지는SQL-호환. 모든 표현 형식 이 섹션에 설명된 내용은 부울(true/false)을 반환합니다. 결과.

9.17.1. IN

표현IN ([, ...])

오른쪽은 괄호로 묶인 스칼라 목록입니다. 표현. 결과는 다음과 같습니다"사실"만일 왼쪽 표현식의 결과는 다음 중 하나와 같습니다. 오른쪽 표현. 이것은의 약칭 표기법입니다.

표현 = 값1또는표현 = 값2또는
...

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

9.17.2. 포함되지 않음

표현다음에 없음([, ...])

오른쪽은 괄호로 묶인 스칼라 목록입니다. 표현. 결과는 다음과 같습니다"사실"만일 왼쪽 표현식의 결과는 모든 표현식과 동일하지 않습니다. 오른쪽 표현. 이것은의 약칭 표기법입니다.

표현 < 값1그리고표현 < 값2그리고
...

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

팁: x y에 없음이다 에 해당함NOT (x IN y)전체 사례. 그러나 null 값은 넘어질 가능성이 훨씬 더 높습니다. 함께 작업할 때 초보자포함되지 않음함께 일할 때보다IN. 최고야 가능하다면 자신의 상태를 긍정적으로 표현하세요.

9.17.3. 모두/일부(사설 토토 사이트)

표현 연산자모두(배열 표현식)
표현 연산자일부(배열 표현식)

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

일부는의 동의어입니다.모두.

9.17.4. 전체(사설 토토 사이트)

표현 연산자전체 (배열 표현식)

오른쪽은 괄호로 묶인 표현식입니다. 배열 값을 생성해야 합니다. 왼손 표현은 다음을 사용하여 배열의 각 요소를 평가하고 비교합니다. 주어진연산자, 반드시 부울 결과를 산출합니다. 결과는전체is"사실"모든 경우 비교 결과는 true입니다(특수한 경우 포함). 배열에는 요소가 없습니다). 결과는 다음과 같습니다"거짓"잘못된 결과가 발견된 경우.

9.17.5. 행별 비교

row_constructor 연산자 row_constructor

각 측면은 다음에 설명된 대로 행 생성자입니다.섹션 4.2.11. 두 행 값의 개수는 동일해야 합니다. 필드. 각 측면이 평가되고 행별로 비교됩니다. 현재는 만=그리고<연산자는 행 단위로 허용됩니다. 비교. 결과는 다음과 같습니다"사실"만일 두 행은 각각 같거나 같지 않습니다.

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

row_constructor다음과 구별됨row_constructor

이 구성은 다음과 유사합니다.<행을 비교했지만 결과가 나오지 않습니다. null 입력의 경우 null입니다. 대신 모든 null 값이 고려됩니다. null이 아닌 값과 같지 않고(구별됨) 두 개 null은 동일한 것으로 간주됩니다(고유하지 않음). 따라서 결과는 항상 참 또는 거짓이어야 하며 절대 null이 아닙니다.

row_constructorNULL임row_constructorNULL이 아님

이 구성은 행 값이 null인지 또는 null이 아닌지 테스트합니다. 에이 행 값에 필드가 하나 이상 있는 경우 null이 아닌 것으로 간주됩니다. null이 아닙니다.