본문 바로가기
DBMS/ORACLE

[ORACLE]오라클_집합연산자( MINUS : 차집합 )

by 썸머워즈 2019. 3. 3.
반응형

MINUS

- MINUS 집합연산자차집합을 의미합니다.

- 한 데이터 집합을 기준으로 다른 데이터 집합과 공통된 항목을 제외한 결과만 추출해 냅니다.

- 첫번째 반환되는 행에서 두번째로 반환되는 행을 제외한 행을 반환합니다.


좀더 빠른 이해를위해 테이블을 이용하겠습니다.


*oracleStudy

 oracleNo

name 

LIN 

HAN 

KIM 

HO 

PARK 


*oracleTest

 oracleNo

name 

 1

HAN 

 2

KIM 

 3

PARK 

이제 위의 두개의 테이블을 이용하여 MINUS 집합연산자를 사용해 보도록 합시다.



SELECT name FROM oracleStudy
 MINUS
SELECT name FROM oracleTest;



*결과값

name 

LIN

HO


사용법 역시 매우 간단합니다.


MINUS 역시 집합연산자이기 때문에 여타 집합연산자와 같은 주의할점이 있는데요


컬럼이 두개 이상이면 개수만큼의 컬럼을 한 묶음으로보고 그 묶음을 비교하여 제외한 컬럼을 출력합니다.


그리고 반드시 데이터의 타입, 순서, 개수가 맞아야 합니다.


(* UNION ALL 을 제외한 모든 집합연산자는 중복을 제거하여 출력됩니다.)




 
SELECT oracleNo, name FROM oracleStudy
 MINUS
SELECT oracleNo, name FROM oracleTest;
 



*결과값

 oracleNo

name 

LIN 

HAN 

HO 


* (2 KIM) 과 (3 PARK) 가 제거되고 출력되었습니다.


반응형


댓글 1

  • ㅈㅇ 2022.05.21 10:59

    만약에 중복이 있으면 같이 삭제하나요? 예를 들어 a테이블에 (a,1)이 2개있고 b테이블에 (a,1)이 1개 있어도 a테이블에 (a,1) 전부 삭제되는지요?
    답글

TOP