BookmarkSubscribeRSS Feed

[SQL] Where절 연산자 - 집합

Started ‎08-31-2024 by
Modified ‎08-31-2024 by
Views 300

 

Where절은 다양한 연산자를 활용합니다.

다양한 연산자들 중 비교 / 논리 / 특수 / 산술 / 잡합의 연산자를 주로 활용합니다.

 

그 중 집합에 관한 연산자에 대해서 자세히 알아보려 합니다.

 

집합이란 2개 이상의 sql문을 하나의 연산을 연산합니다.

집합 연산자에는 UNION, UNION ALL, INTERSECT, EXCEPT가 있습니다.

 

 

image (9).png

 

 

 

 

Track 테이블과 InvoiceLine 테이블은 TrackId라는 공통 칼럼이 있습니다.

 

 

 

1. UNION

 

두 집합을 더해서 결과를 출력할 수 있습니다.

중복값을 제거합니다.

 

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까지의 값이 중복 없는 결과값을 가집니다.

 

 

 

 

2. UNION ALL

 

중복값을 제거하지 않고 두 집합을 더해서 결과를 출력합니다.

 

 

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까지의 값은 중복되지 않습니다.

 

 

image (10).png

 

 

 

 

3. INTERSECT

 

두 집합의 교집합 결과를 출력합니다.

 

 

select trackid
from Track 
intersect
select trackid
from InvoiceLine;

 

 

 Track 테이블의 TrackId는 1~ 3,503까지 값이 있으며 InvoiceLine테이블의 TrackId는 1 ~ 3,177까지 값이 있습니다.

 

image (11).png

 

 

 

교집합인 테이블 값 1 ~ 3,503까지의 값만 출력됩니다.

 

 

 

4. EXCEPT

 

두 집합의 차집합 결과를 출력합니다.

 

 

 

select trackid
from Track 
except
select trackid
from InvoiceLine;
Version history
Last update:
‎08-31-2024 09:58 AM
Updated by:
Contributors

SAS Innovate 2025: Register Now

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!

Article Labels
Article Tags