[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