- INTERSECT는 두 행의 집합중 공통된 행을 반환
- 두개의 테이블에 모두 속하는 행집합을 결과 집합으로 반환한다. INTERSECT연산에서 테이블의 순서를 바꾸어도 결과 집합은 동일.
- CORR(CORRESPONDING) 옵션은 두 개의 테이블에서 공통 변수를 사용.
- ALL 옵션은 중복 제거 없이 세로 결합.
1. INTERSECT |
1. INTERSECT |
- BACK1테이블 과 BACK2테이블의 세로 결합시 모든 관측치가 공통된 값 출력.
1) 오라클
SELECT * FROM BACK1 A INTERSECT SELECT * FROM BACK2 B; |
NAME KEY 양혜수 140 |
![]() |
2) PROC SQL
PROC SQL; CREATE TABLE INTERSECT1 AS SELECT * FROM BACK1 A INTERSECT SELECT * FROM BACK2 B; QUIT ; |
name key 양혜수 140 |
![]() |
3) PROC SQL
- 두개 테이블에서 공통변수 NAME에 대하여 교집합.
- NAME변수의 공통 교집합 '백승민','양혜수' 출력
PROC
SQL; CREATE TABLE INTERSECT1 AS SELECT * FROM BACK1 A INTERSECT CORR SELECT * FROM BACK2 B; QUIT ; |
name 백승민 양혜수 |
![]() |
4) PROC SQL
- 두개 테이블에서 세로 교집합 출력시 중복 제거 없이 출력.
PROC SQL; CREATE TABLE INTERSECT2 AS SELECT * FROM BACK11 A INTERSECT ALL SELECT * FROM BACK22 B; QUIT ; |
name key 양혜수 140 양혜수 140 |
![]() |
5) PROC SQL
- 두개 테이블에서 세로 교집합 출력시 공통된 변수 NAME기준으로 중복 제거 없이
출력.
PROC SQL; CREATE TABLE INTERSECT2 AS SELECT * FROM BACK1 A INTERSECT ALL CORR SELECT * FROM BACK2 B; QUIT ; |
name 백승민 양혜수 |
![]() |
6) DATA STEP
DATA INTERSECT3; SET BACK1 BACK2(RENAME=(JUMSU=KEY)); BY NAME KEY; IF FIRST.KEY NE 1 AND LAST.KEY; RUN ; |
name key 양혜수 140 |
![]() |