BookmarkSubscribeRSS Feed

[SQL 6-1] 집합 연산자 소개(Introduction to Set Operators)

Started ‎06-17-2020 by
Modified ‎06-17-2020 by
Views 112

[SQL 6-1] Introduction to Set Operators (집합 연산자 소개)

 

안녕하세요~

이번 시간에는 집합 연산자(Set Operator)에 대한 개괄 소개를 하겠습니다.

 

오늘의 목표는 다음과 같습니다.

①    다양한 business scenario 살펴보기

     ②    예제 자료 탐색하기

     ​③    SQL 집합연산자(set operators) 개념 이해하기

 

 다양한 business scenario 살펴보기

 아래 4개의 business scenario를 보겠습니다.

  1.  어떤 직원이 A 또는 B 교육을 완료 했습니까?
  2.  어떤 직원이 A 그리고/또는 B 교육을 수료 했습니까? 그 날짜는 언제입니까?
  3.  어떤 직원이 A를 수료했으나 B를 수료하지 않았습니까?
  4.  어떤 직원이 A, B 두 과목을 모두 마쳤습니까?

 4가지 질문의 공통 요지는 직원들에 대한 A과목, B과목 교육에 대해 수료여부 정보를 얻고자 하는 것입니다.

 

아래 Train_a, Train_b라는 이름의 두 데이터셋이 있습니다.

ID, 이름(Name), 교육날짜(Date), 교육시작날짜(Date, SDate), 교육수료날짜(EDate)변수를 확인할 수 있습니다.

A과목은 하루 일정의 교육이고 B과목은 수일에 걸쳐 진행되는 교육입니다.

 

 

Train_a의 일부

SE22016122114282970.png

 

Train_b의 일부

SE22016122114283970.png

 

 

B과목 데이터셋에서 Chris라는 직원은 B과목을 수료하지 않았음을 알 수 있습니다.

 

 

▷ 집합 연산자란?

집합 연산자는 최종 결과 set을 생성하기 위해 두 개의 쿼리에 대해 중간 결과 set을 사용합니다.

 

아래 그림으로 확인할 수 있듯이, Query 1과 Query 2에 의해 각각 RS1, RS2라는 중간 결과 set이 생성되는 것을 볼 수 있습니다.

 

이 후 집합 연산자는 중간 결과 set RS1, RS2를 활용하여 최종 결과 set을 생성합니다.

  

SE22016122114290070.png

 

 그럼 4가지 각 시나리오에 대해 적절한 SQL 집합연산자(set operators)가 무엇인지 살펴보겠습니다.

▷ 집합 연산자는 총 4개가 존재합니다.

아래 표는 각 집합연산자에 대한 행, 열에 대한 처리 내용 정리표입니다.

집합연산자의 상세한 내용은 앞으로의 수업에서 하나씩 다뤄질 예정입니다.

 

SE22016122114292070.png

 

 

 각각 시나리오에 대한 집합연산자를 살펴보겠습니다.

 

 

  1.  어떤 직원이 A 또는 B 교육을 완료 했습니까? -> UNION 집합연산자

UNION 집합연산자는 두 개의 중간 결과 set의 고유한 행만을 반환합니다.

 

SE22016122114304270.png

 

  1.  어떤 직원이 A 그리고/또는 B 교육을 수료 했습니까? 그 날짜는 언제입니까? 

    ​-> OUTER UNION 집합연산자

OUTER UNION 집합연산자는 두 개의 중간 결과 set의 모든 행과 열을 반환합니다.

 

SE22016122114310370.png

 

  1.  어떤 직원이 A를 수료했으나 B를 수료하지 않았습니까? -> EXCEPT 집합연산자

EXCEPT 집합연산자는 두 번째 중간 result set에는 없는 첫 번째 중간 result set의 고유한 행을 반환합니다.

 

SE22016122114311770.png

 

  1.  어떤 직원이 A, B 두 과목을 모두 마쳤습니까? -> INTERSECT 집합연산자

INTERSECT 집합연산자는 두 번째 중간 result set에는 있는 첫 번째 중간 result set의 고유한 행을 반환합니다.

 

SE22016122114312970.png

 

▷ 집합연산자를 사용하기 위한 프로그램 형식은 다음과 같습니다.

 

SE22016122114320070.png

 

 Modifier ALL과 CORR은 집합연산자의 default 처리를 바꾸는 기능을 하는데요.

ALL은 행의 default 처리를 변경할 수 있고, CORR은 열의 default 처리를 변경할 수 있습니다.

 

default 기능의 예로는 UNION, INTERSECT, EXCEPT 집합연산자의 경우, 쿼리 결과로부터 중복 행은 제거된다는 것이 있습니다.

 

 

 

 

 

이상 자료를 집합 연산자에 대한 간략한 개괄 소개였습니다.

 

감사합니다 ^^

 

  

Version history
Last update:
‎06-17-2020 12:51 AM
Updated by:
Contributors

sas-innovate-wordmark-2025-midnight.png

Register Today!

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.


Register now!

Article Labels
Article Tags