반응형
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 결과입니다.
반응형