집합 연산자는 두 개 이상의 테이블에서 Join을 사용하지 않고 연관된 데이터를 조회하는 방법으로 SELECT 한 컬럼의 수와 컬럼의 데이터 타입이 동일해하는 조건이 필요합니다.
집합 연산자에는 UNION(합집합), INTERSECT(교집합), EXCEPT(차집합)이 있습니다.
각각의 특징에 대해서 알아보겠습니다.
두 개의 테이블을 하나로 만드는 연산으로 합친 이후에는 중복된 데이터를 제거합니다.
테이블 A
테이블 NewTable_1
SELECT * FROM A
UNION
SELECT * FROM NewTable_1;
결과
UNION문을 활용하려면 SELECT문의 컬럼의 갯수와 컬럼의 데이터 타입이 동일해야합니다.
중복된 행을 제거하고 중복된 행을 모두 포함하고 싶으면 UNION ALL을 사용해야합니다.
또한, SELECT절에 사용한는 컬럼의 순서가 같아야합니다.
두 테이블에서 겹치는 부분을 추출합니다. 추출 후에는 중복된 결과를 제거합니다.
테이블 A
테이블 NewTable_1
SELECT * FROM A
INTERSECT
SELECT * FROM NewTable_1;
결과
차집합으로 Minus라고 생각할 수 있습니다.
두 테이블에서 겹치는 부분을 앞의 테이블에서 제외하여 추출합니다. 추출 후에는 중복된 결과를 제거합니다.
SELECT * FROM A
except
SELECT * FROM NewTable_1;
Join us for SAS Innovate 2025, our biggest and most exciting global event of the year, in Orlando, FL, from May 6-9. Sign up by March 14 for just $795.