[SQL 6-1] Introduction to Set Operators (집합 연산자 소개)
안녕하세요~
이번 시간에는 집합 연산자(Set Operator)에 대한 개괄 소개를 하겠습니다.
오늘의 목표는 다음과 같습니다.
① 다양한 business scenario 살펴보기
② 예제 자료 탐색하기
③ SQL 집합연산자(set operators) 개념 이해하기
▶ 다양한 business scenario 살펴보기
▷ 아래 4개의 business scenario를 보겠습니다.
위 4가지 질문의 공통 요지는 직원들에 대한 A과목, B과목 교육에 대해 수료여부 정보를 얻고자 하는 것입니다.
아래 Train_a, Train_b라는 이름의 두 데이터셋이 있습니다.
ID, 이름(Name), 교육날짜(Date), 교육시작날짜(Date, SDate), 교육수료날짜(EDate)변수를 확인할 수 있습니다.
A과목은 하루 일정의 교육이고 B과목은 수일에 걸쳐 진행되는 교육입니다.
Train_a의 일부
Train_b의 일부
B과목 데이터셋에서 Chris라는 직원은 B과목을 수료하지 않았음을 알 수 있습니다.
▷ 집합 연산자란?
집합 연산자는 최종 결과 set을 생성하기 위해 두 개의 쿼리에 대해 중간 결과 set을 사용합니다.
아래 그림으로 확인할 수 있듯이, Query 1과 Query 2에 의해 각각 RS1, RS2라는 중간 결과 set이 생성되는 것을 볼 수 있습니다.
이 후 집합 연산자는 중간 결과 set RS1, RS2를 활용하여 최종 결과 set을 생성합니다.
▶ 그럼 4가지 각 시나리오에 대해 적절한 SQL 집합연산자(set operators)가 무엇인지 살펴보겠습니다.
▷ 집합 연산자는 총 4개가 존재합니다.
아래 표는 각 집합연산자에 대한 행, 열에 대한 처리 내용 정리표입니다.
집합연산자의 상세한 내용은 앞으로의 수업에서 하나씩 다뤄질 예정입니다.
각각 시나리오에 대한 집합연산자를 살펴보겠습니다.
UNION 집합연산자는 두 개의 중간 결과 set의 고유한 행만을 반환합니다.
-> OUTER UNION 집합연산자
OUTER UNION 집합연산자는 두 개의 중간 결과 set의 모든 행과 열을 반환합니다.
EXCEPT 집합연산자는 두 번째 중간 result set에는 없는 첫 번째 중간 result set의 고유한 행을 반환합니다.
INTERSECT 집합연산자는 두 번째 중간 result set에는 있는 첫 번째 중간 result set의 고유한 행을 반환합니다.
▷ 집합연산자를 사용하기 위한 프로그램 형식은 다음과 같습니다.
Modifier ALL과 CORR은 집합연산자의 default 처리를 바꾸는 기능을 하는데요.
ALL은 행의 default 처리를 변경할 수 있고, CORR은 열의 default 처리를 변경할 수 있습니다.
default 기능의 예로는 UNION, INTERSECT, EXCEPT 집합연산자의 경우, 쿼리 결과로부터 중복 행은 제거된다는 것이 있습니다.
이상 자료를 집합 연산자에 대한 간략한 개괄 소개였습니다.
감사합니다 ^^
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.