반응형
PostgreSQL의 IN 대 ANY 연산자
PostgreSQL에서 IN
and ANY
연산자 의 차이점은 무엇입니까 ?
두 가지의 작동 메커니즘은 동일한 것 같습니다. 누구든지 예를 들어 설명 할 수 있습니까?
논리적으로 , 매뉴얼을 인용하면 :
IN
와 동일합니다= ANY
.
그러나 두 가지가 변형 구문 의 IN
와의 두 가지 변종 ANY
구조는. 세부:
IN ()
변형 복용하는 세트 에 해당 = ANY()
복용하는 설정을 여기에 입증 된 바와 같이, :
그러나 각각 의 두 번째 변형은 서로 동일 하지 않습니다 . 두번째의 변형 ANY
구조가 얻어 어레이 의 두 번째 변형하면서, (실제 어레이 형이어야) IN
콤마 분리 소요 값리스트 . 값을 전달하고 다른 제한이 리드 할 수 도 특별한 경우 다른 쿼리 계획을 초래할 :
이 ANY
구조는 .NET뿐만 아니라 다양한 연산자와 결합 할 수 있으므로 훨씬 더 다양 =
합니다. 예 LIKE
:
SELECT 'foo' LIKE ANY('{FOO,bar,%oo%}');
큰 값의 번호, 제공하는 세트 각각에 대해 더 나은 저울 :
관련 :
반전 / 반대 / 배제
반전 :
SELECT * FROM foo WHERE id = ANY (ARRAY[1, 2]);
"행을 찾을 수 id
있습니다 하지 배열을" -입니다 :
SELECT * FROM foo WHERE id <> ALL (ARRAY[1, 2]);
다음과 같습니다.
SELECT * FROM foo WHERE NOT (id = ANY (ARRAY[1, 2]));
가있는 행 id IS NULL
은 이러한 표현식 중 하나를 전달하지 않습니다. NULL
값을 추가로 포함하려면 :
SELECT * FROM foo WHERE (id = ANY (ARRAY[1, 2])) IS NOT TRUE;
참고 URL : https://stackoverflow.com/questions/34627026/in-vs-any-operator-in-postgresql
반응형
'Development Tip' 카테고리의 다른 글
C ++에서 "class :"는 무엇을 의미합니까? (0) | 2020.10.12 |
---|---|
::는 클로저에서 무엇을 위해 사용됩니까? (0) | 2020.10.12 |
클라이언트-서버 데이터베이스 동기화 (0) | 2020.10.12 |
관계형 데이터베이스와 비 관계형 데이터베이스의 차이점은 무엇입니까? (0) | 2020.10.12 |
용도 및 용도 (0) | 2020.10.12 |