## 일반 집합 연산자
1. UNION & UNION ALL
- UNION 수학적 합집합 , 공통 데이터를 제거 하기위한 사전 작업으로 시스템에 부하를 주는 정렬 작업 발생
- UNION ALL 합집합은 같으나 공통 데이터를 그대로 보여주기 때문에 정렬작업은 일어나지 않음 시스템 부하 적음
** UNION/UNION ALL
결과가 같다면, 응답 속도 향상이나 자원 효율화 측면에서 정렬작업이 발생하지 않는 UNION ALL 사용 권장
2. INTERSECTION
- 수학의 교집합 두 집 합의 공통집합을 추출
3. DIFFERENCE
- 수학적 차집합 첫번째 집합- 두번째 집합 공통부분 제외한 부분
- 대다수 EXCEPT/ ORACLE은 MINUS를 사용
4. PRODUCT
- CROSS PRODUCT라고 불리는 곱집합, 조인 조건이 없을 생길 수 있는 데이터의 조합 (M*N)
- CARTESIAN PRODUCT라고도 함
## 순수 관계 연산자
: 관계형 데이터베이스를 구현하기 위해 새롭게 만들어진 연산자
1. SELECT
- SELECT는 SQL 문장에서 WHERE절의 조건절로 구현 가능(SELECT 연산과 SELECT 절의 의미 다름!!)
2. PROJECT
- SQL 문장에서 SELECT 절의 칼럼 선택 기능
3. JOIN
- WHERE절의 INNER JOIN조건과 함께
FROM 절의 NATURAL JOIN, INNER JOIN, OUTER JOIN, USING 조건절, ON 조건절 등 다양하게 발전함
4. DIVIDE 연산은 나눗셈과 비슷한 개념
-왼쪽 집합을 XY로 나눴을 때 XY를 모두 가지고 있는 a가 답이 되는 기능
**관계형 데이터베이스의 경우 요구사항 분석, 개념적 , 논리적, 물리적 데이터 모델링을 거치면서 엔티티 확정 정규화, M:M관례를 분해하는 절차를 거침. 특히 정규화 과정의 경우 데이터 정합성을 위해 엔티티를 최대한 분리하는 작업으로 일반적으로 3차나 보이스 코드 정규형까지 진행하게 됨. 이런 정규화 과정을 거치면서 하나의 주제에 관련 있는 엔티티가 여러 개로 나눠지고, 이 엔티티들은 주로 테이블로 되는데 이렇게 여러개로 쪼개진 데이터를 연결해서 원하는 데이터를 추출하는 작업이 조인이라고 할 수 있다.!!
'SQL' 카테고리의 다른 글
[그룹함수 / ROLLUP] (0) | 2021.12.29 |
---|---|
[계층형 질의] (0) | 2021.12.21 |
집합 연산자 (SET OPERATOR) (0) | 2021.12.20 |
OUTER JOIN (0) | 2021.12.19 |
INNER & NATURAL JOIN (0) | 2021.12.18 |