BookmarkSubscribeRSS Feed

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

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

[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

hackathon24-white-horiz.png

The 2025 SAS Hackathon Kicks Off on June 11!

Watch the live Hackathon Kickoff to get all the essential information about the SAS Hackathon—including how to join, how to participate, and expert tips for success.

YouTube LinkedIn

Article Labels
Article Tags