[Oracle] 다수의 SELECT문 중복 된 값 제거 하기 MINUS

[Oracle] 다수의 SELECT문 중복 된 값 제거 하기 MINUS

여러개의 집합 연산자 중 MINUS 를 포스팅 해보도록 하겠습니다.

 

먼저 MINUS는 학교 다닐때 배우던 차집합과 같은 것인데요

그림으로 보면 위와 같이 되어있는 것을 차집합 이라고 합니다.

A라는 집합들 중에서 B라는 집합을 뺀 값이라고 할 수 있죠

 

주의 사항

쿼리문을 보기전 먼저 A와 B의 테이블은 컬럼명칭, 컬럼위치, 컬럼 수가 모두 동일 해야 합니다.

만약 일치 하지 않다면 ORA-01789 : query block has incorrect number of result columns union

질의 블록은 부정확한 수의 결과 열을 가지고 있습니다. 라는 에러를 보게 될 것 입니다.

 

 

사용 방법

SELECT COLUMN1 FROM A  ,   SELECT COLUMN1  FROM B   

이렇게 두개의 조회 쿼리문 A와 B가 있을때

 

SELECT COLUMN1  FROM A       
MINUS
SELECT COLUMN1 FROM B  

라고 입력을 하게 되면 A의 데이터들 중에서 B에도 해당하는

데이터들을 빼고 보여 지게 됩니다.

댓글

Designed by JB FACTORY

1 2 3 4 5 6 7 8 1 1 2 3 4 5 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10