본문 바로가기
DataBase/MsSql

MSSQL EXCEPT, INTERSECT 차이점 및 사용법

by 아우럼 2024. 5. 2.
반응형

EXCEPT 하고 INTERSECT는 집합 연산자로 수학 시간에 배운 차집합, 교집합 하고 동일한 연산 방식입니다.

EXCEPT, INTERSECT 특징

  • EXCEPT는 두 개의 query 결과 중 첫 번째 query에는 있고, 두 번째 query에는 없는 행을 반환합니다.
  • INTERSECT는 두 개 query 결과에 모두 존재하는 행을 반환합니다. 즉, 공통된 행만 반환합니다.
  • 두 개의 query의 열의 개수와 순서가 같아야 연산할 수 있습니다.
  • query에서 반환되는 데이터 형식은 호환되어야 합니다.

EXCEPT, INTERSECT 사용법

EXCEPT 소스 예제.

  • 자료 만드는 공통 소스입니다.
-- 1. EXCEPT,INTERSECT 
DROP TABLE IF EXISTS AForExceptIntersect;
CREATE TABLE AForExceptIntersect (
	UserId int,
	UserNm varchar(255) 
); 
DROP TABLE IF EXISTS BForExceptIntersect;
CREATE TABLE BForExceptIntersect (
	UserId int,
	UserNm varchar(255) 
);
-- AForExceptIntersect insert sample data 
INSERT INTO dbo.AForExceptIntersect(UserId,UserNm) 
VALUES (272, N'Ken')
      ,(273, N'Brian')
      ,(274, N'Stephen');
-- BForExceptIntersect insert sample data 
INSERT INTO dbo.BForExceptIntersect(UserId,UserNm) 
VALUES (274, N'Stephen')
      ,(275, N'Michael')
      ,(276, N'Linda');
  • except 소스코드입니다.
SELECT UserId,UserNm
FROM AForExceptIntersect
EXCEPT
SELECT UserId,UserNm
FROM BForExceptIntersect;

INTERSECT 소스 예제.

  • intersect 소스코드입니다.
SELECT UserId,UserNm
FROM AForExceptIntersect
INTERSECT
SELECT UserId,UserNm
FROM BForExceptIntersect;

EXCEPT, INTERSECT 실행 결과

  • EXCEPT, INTERSECT 결과입니다.

EXCEPT, INTERSECT 그림으로 설명 입니다.
EXCEPT, INTERSECT 설명도.

반응형