본문 바로가기

자격증/SQLD

SQLD 2과목 2-2장. 집합연산자

[ 목차 ]

1. 집합연산자

2. 집합연산자를 사용하는 상황

3. 집합연산자 종류

4. 집합연산자 특징

 

1. 집합연산자

1) 두 개 이상의 테이블에서 조인을 사용하지 않고 연관된 데이터를 조회하는 방법

2) 여러 개의 질의의 결과를 연결하여 하나로 결합하는 방식 즉, 2개 이상의 질의 결과를 하나의 결과로 만듬

3) SELECT 절의 칼럼 수가 동일하고 SELECT절의 동일 위치에 존재하는 칼럼의 데이터 타입이 상호 호환 가능해야 함

4) SQL문의 결과 집합에 대해 합집합, 교집합, 차집합으로 집합간의 관계를 가지고 작업

 

2. 집합연산자를 사용하는 상황

1) 서로 다른 테이블에서 유사한 형태의 결과를 반환하는 것을 하나의 결과로 합치고자 할 때

2) 동일 테이블에서 서로 다른 질의를 수행하여 결과를 합치고자 할 때

3) 튜닝관점에서 실행계획을 분리하고자 하는 목적

 

3. 집합연산자 종류

1) UNION - 합집합

  1] 여러 개의 SQL문의 결과에 대한 합집합으로 결과에서 모든 중복된 행은 하나의 행으로 만듬

2) UNION ALL - 합집합

  1] 여러 개의 SQL문의 결과에 대한 합집합으로 중복된 행도 그대로 결과로 표시 즉, 단순히 결과만 합쳐놓은 것

  2] 여러 질의 결과가 상호 배타적일 때 사용하며 개별 SQL문의 결과가 중복되지 않는 경우 UNION과 결과가 동일

3) INTERSECT - 교집합

  1] 여러 개의 SQL문의 결과에 대한 교집합으로 중복된 행은 하나의 행으로 만듬

4) EXCEPT - 차집합

  1] 앞의 SQL문의 결과에서 뒤의 SQL문의 결과에 대한 차집합

  2] 중복된 행은 하나의 행으로 만듬

  3] 앞의 집합 결과에서 뒤의 집합 결과를 빼는 것

 

4. 집합연산자 특징

1) 사용상의 제약조건을 마족한다면 어떤 형태의 SELECT문이라도 이용할 수 있음

2) ORDER BY는 집합 연산을 적용한 최종 결과에 대한 정렬 처리이므로 가장 마지막 줄에 한버난 기술

3) 그룹함수 사용 가능

'자격증 > SQLD' 카테고리의 다른 글

SQLD 요점정리 파일  (0) 2020.03.18
SQLD 2과목 2-4장. 서브쿼리  (0) 2020.03.12
SQLD 2과목 1-9장. 조인  (0) 2020.03.12
SQLD 2과목 1-8장. ORDER BY절  (0) 2020.03.12
SQLD 2과목 1-7장. GROUP BY, HAVING절  (0) 2020.03.12