- MINUS는 첫번째 SELECT문에 의해 반환되는 행중에서 두번째 SELECT문에 의해 반환되는 행에 존재하지 않는 행들을 반환.
- UNION이나 INTERSCET 연산과 다르게 테이블의 순서를 바꾸면 출력 결과가 달라짐.
1. MINUS |
1. MINUS |
- BACK1테이블에서 BACK2에 존재하는 관측치 제거.
1) 오라클
SELECT * FROM BACK1 A MINUS SELECT * FROM BACK2 B; |
NAME KEY 김국진 150 백승민 176 홍길동 155 |
![]() |
2) PROC SQL
PROC SQL; CREATE TABLE MINU1 AS SELECT * FROM BACK1 A EXCEPT SELECT * FROM BACK2 B; RUN ; |
name key 김국진 150 백승민 176 홍길동 155 |
![]() |
3) PROC SQL
-
BACK1테이블에서 BACK2에 존재하는 관측치 제거.
- 양쪽
테이블에서 공통 변수 'NAME'에 대하여 차집합 수행.
PROC SQL; CREATE TABLE MINU2 AS SELECT * FROM BACK1 A EXCEPT CORR SELECT * FROM BACK2 B; RUN ; |
name 김국진 홍길동 |
![]() |
4) PROC SQL
-
차집합 수행시 중복 관측치에 대하여 중복 제거 없이 출력.
PROC SQL; CREATE TABLE MINU3 AS SELECT * FROM BACK11 A EXCEPT ALL SELECT * FROM BACK22 B; RUN ; |
name key 김국진 150 백승민 176 양혜수 140 양혜수 140 홍길동 155 |
![]() |
5) PROC SQL
- 두개
테이블에서 세로 차집합 수행시 공통된 변수 NAME기준으로 중복 제거 없이 수행.
PROC SQL; CREATE TABLE MINU4 AS SELECT * FROM BACK11 A EXCEPT ALL CORR SELECT * FROM BACK22 B; RUN ; |
name 김국진 양혜수 양혜수 홍길동 |
![]() |
6) DATA STEP
DATA MINUS2; MERGE BACK1(IN=A) BACK2(IN=B RENAME=(JUMSU=KEY)); BY NAME KEY; IF A AND B NE 1; RUN ; |
name key 김국진 150 백승민 176 홍길동 155 |
![]() |