반응형
오라클에서 MINUS 연산자
MINUS 연산자
저는 테이블 A와 B가 두 개 있습니다.
SELECT COUNT(*) FROM (SELECT * FROM tableA)
반품 389
SELECT COUNT(*) FROM (SELECT * FROM tableB)
반품 217
SELECT COUNT(*) FROM
(SELECT * FROM tableA
INTERSECT
SELECT * FROM tableB)
반환 0
SELECT COUNT(*) FROM
(SELECT * FROM tableA
MINUS
SELECT * FROM tableB)
반품 389
SELECT COUNT(*) FROM
(SELECT * FROM tableB
MINUS
SELECT * FROM tableA)
89로 돌아감
누가 마지막 쿼리가 217이 아니라 89를 반환하는 이유를 설명해 줄 수 있습니까?
MINUS는 첫 번째 결과 집합을 수행하고 두 번째 결과 집합에 존재하는 모든 것을 제거합니다. 또한 중복도 제거합니다.
예제에서 표 A에는 389개의 행이 있고, 표 B에는 217개의 행이 있습니다. INSTRESS는 공통으로 행이 없음을 보여주며, 이는 표 A에서 표 B를 뺀 값이 389개의 행(즉, 모든 행)임을 의미합니다.
표 B MINUS 표 A는 표 B에 있는 행들의 구별된 집합을 반환하므로 표 B에는 89개의 구별된 값이 있습니다.
A와 B, A = {1,2,3,4}, 카운트(A) = 4, B = {5,6,6,7,7}, 카운트(B) = 5를 설정했다고 가정합니다.
따라서 A-B = {1,2,3,4}이므로 (A-B) = 카운트(A) = 4
그러나 B-A = {5,6,7}, 카운트(B) = 3
따라서 여기서 우리가 이해하는 것은 마이너스가 중복되는 항(또는 행)을 없앤다는 것입니다.이것이 행수가 217개에서 89개로 줄어든 이유입니다.
도움이 되길 바랍니다.
언급URL : https://stackoverflow.com/questions/20209265/minus-operator-in-oracle
반응형
'programing' 카테고리의 다른 글
| AppCompat v21을 사용하여 안드로이드에서 floating action button(FAB)을 만드는 방법? (0) | 2023.09.21 |
|---|---|
| 열 1의 부분 집합 및 열 2의 범위에 대한 쿼리에 대한 MariaDB 인덱스 (0) | 2023.09.21 |
| 일치조건시열값변경 (0) | 2023.09.16 |
| WC_Product_에서 사용자 지정 메타데이터 사용Woocommerce 3에 대한 쿼리 (0) | 2023.09.16 |
| HTML "옵션" 태그에 툴팁을 표시하려면 어떻게 해야 합니까? (0) | 2023.09.16 |