Skip Headers

오라클 / PROC SQL / DATA STEP

이블 결합프 로 그 램 비 교

Go to Documentation Home
HOME
Go to Book List
PRO_home
Go to Table of Contents
연구회
Go to Index
자료실
Go to Master Index
TABLE JOIN
Go to Feedback page
MAIL

Go to previous page
Previous
Go to next page
Next

9. 차집합 세로결합(MINUS)


- MINUS는 첫번째 SELECT문에 의해 반환되는 행중에서 두번째 SELECT문에 의해 반환되는 행에 존재하지 않는 행들을 반환.

- UNION이나 INTERSCET 연산과 다르게 테이블의 순서를 바꾸면 출력 결과가 달라짐.


1. MINUS

1. MINUS

MAIN

- 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

맨 위로 이동 맨 위로 이동