BookmarkSubscribeRSS Feed

EXCLUSIVE UNION

Started yesterday by
Modified yesterday by
Views 75

EXCLUSIVE UNION 은 '배타적 합집합' 이라고 표현할 수 있습니다.

 

 

image.png

 

 

 

'배타적 합집합'을 쉽게 설명하면 Data Set A와 Data Set B가 있을 경우 공통 영역(A∩B)은 제외하고, A에만 있거나 B에만 있는 데이터들을 모은 결과값을 출력합니다.

SAS의 PROC SQL에는UNION, INTERSECT, EXCEPT 가 있지만 배타적 합집합을 수행하는 키워드는 없습니다. (SQL 표준 구문에도 없습니다.)

그래서 EXCEPT 와 UNION 을 같이 Syntax에 써서 배타적 합집합을 표현할 수 있습니다.

■ 활용 데이터

 

data DATA1;
    length name $10 dept $10;
    input name $ dept $ age;
    datalines;
김제니 영업 28
안유진 개발 31
박지훈 인사 26
;
run;

data DATA2;
length name $10 dept $10;
input name $ dept $ age;
datalines;
최유진 마케팅 29
안유진 개발 31
최예원 영업 33
;
run;

 

 

 

■ 예제

 

proc sql;
    (select * from data1
        except
     select * from data2)
    union
    (select * from data2
        except
     select * from data1);
quit;

 

image.png

 

 

 

 

(select * from data1
        except
     select * from data2)

SQL 문의 첫번째 문을 쉽게 설명하면, EXCEPT 문을 활용해 DATA1 - DATA2 결과값을 출력합니다.

 

 

(select * from data2
        except
     select * from data1);

SQL 문의 두번째 문을 쉽게 설명하면, EXCEPT 문을 활용해 DATA2 - DATA1 결과값을 출력합니다.

 

EXCEPT 문을 활용해 각 데이터셋의 차이만 출력하고 UNION 문을 활용해 공통의 데이터인 '안유진 개발 31'의 데이터만 제외하고 서로 다른 데이터만 출력하는 것 입니다.

Contributors
Version history
Last update:
yesterday
Updated by:

Catch up on SAS Innovate 2026

Nearly 200 sessions are now available on demand with the SAS Innovate Digital Pass.

Explore Now →
Article Labels
Article Tags