프로그래밍 언어/SQL

[SQL] 관계형 대수 - 일반 집합 연산자와 순수 관계 연산자

타밍 2023. 6. 27. 14:18

[일반 집합 연산자]

1. UNION 연산 - 수학적 합집합

UNION 연산은 공통 교집합의 중복을 없애기 위한 사전 작입으로, 정렬 작업이 발생한다.

SQL 기능 - UNION

 

2. UNION ALL - UNION+중복허용

UNION 연산에서 교집합의 중복을 허용한다.

 

UNION과 UNION ALL의 출력 결과가 같다면, 응답 속도 향상이나 자원 효율 측면에서 데이터 정렬 작업이 발생하지 않는 UNION ALL 사용을 권장한다.

 

 

3. INTERSECTION 연산 - 수학의 교집합

SQL 기능 - INTERSECT

 

4. DIRRERENCE 연산 - 수학의 차집합

SQL 기능 - EXCEPT(오라클은 MINUS)

 

5. PRODUCT(CARTESIAN PRODUCT) 연산 - 수학의 곱집합

JOIN 조건이 없는 경우 생길 수 있는 모든 데이터의 조합을 말한다 (M*N)

SQL 기능 - CROSS JOIN

 

[순수 관계 연산자]

1. SELECT 연산 -  WHERE 절의 조건절 기능

2. PROJECT 연산 - SELECT 절의 칼럼 선택 기능

 

3. (NATURAL) JOIN - JOIN 기능

 

4. DIVIDE (현재 사용X)

나눗셈과 비슷한 개념으로 왼쪽의 집합을 'XZ'로 나누었을때, 'XZ'를 모두 갖고 있는 것이 답이 되는 기능

'프로그래밍 언어 > SQL' 카테고리의 다른 글

[SQL] SELECT 문의 실행 순서  (0) 2023.06.28
[SQL] ORDER BY 절  (0) 2023.06.28
[SQL] SELECT 문 - SELECT, FROM, WHERE  (0) 2023.06.27
[SQL] 정규화  (0) 2023.06.27
[SQL] SQL 문장들의 종류  (0) 2023.06.26