Where절은 다양한 연산자를 활용합니다.
다양한 연산자들 중 비교 / 논리 / 특수 / 산술 / 잡합의 연산자를 주로 활용합니다.
그 중 집합에 관한 연산자에 대해서 자세히 알아보려 합니다.
집합이란 2개 이상의 sql문을 하나의 연산을 연산합니다.
집합 연산자에는 UNION, UNION ALL, INTERSECT, EXCEPT가 있습니다.
Track 테이블과 InvoiceLine 테이블은 TrackId라는 공통 칼럼이 있습니다.
두 집합을 더해서 결과를 출력할 수 있습니다.
중복값을 제거합니다.
select trackid
from Track
union
select trackid
from InvoiceLine;
Track 테이블의 TrackId는 1~ 3,503까지 값이 있으며 InvoiceLine테이블의 TrackId는 1 ~ 3,177까지 값이 있습니다.
두 테이블에서 1 ~ 3,177까지 중복값이 있지만 중복을 제거한 결과를 얻습니다.
그래서 1 ~ 3,503까지의 값이 중복 없는 결과값을 가집니다.
중복값을 제거하지 않고 두 집합을 더해서 결과를 출력합니다.
select trackid
from Track
union all
select trackid
from InvoiceLine;
Track 테이블의 TrackId는 1~ 3,503까지 값이 있으며 InvoiceLine테이블의 TrackId는 1 ~ 3,177까지 값이 있습니다.
1 ~ 3,177까지의 값은 2개씩 값이 중복되고 3,178 ~ 3,503까지의 값은 중복되지 않습니다.
두 집합의 교집합 결과를 출력합니다.
select trackid
from Track
intersect
select trackid
from InvoiceLine;
Track 테이블의 TrackId는 1~ 3,503까지 값이 있으며 InvoiceLine테이블의 TrackId는 1 ~ 3,177까지 값이 있습니다.
교집합인 테이블 값 1 ~ 3,503까지의 값만 출력됩니다.
두 집합의 차집합 결과를 출력합니다.
select trackid
from Track
except
select trackid
from InvoiceLine;
Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!