DBMS 조인: 내부, THETA, 외부, Equi 조인 유형 OperaTIONS
DBMS에서 조인이란 무엇입니까?
DBMS에 가입 는 조인 제품과 선택을 하나의 문장으로 결합할 수 있는 이진 연산입니다. 조인 조건을 만드는 목적은 두 개 이상의 DBMS 테이블에서 데이터를 결합하는 데 도움이 된다는 것입니다. DBMS의 테이블은 기본 키와 외래 키를 사용하여 연결됩니다.
조인 유형
DBMS에는 주로 두 가지 유형의 조인이 있습니다.
- 내부 조인: Theta, Natural, EQUI
- 외부 조인: 왼쪽, 오른쪽, 전체
자세히 살펴보겠습니다.
내부 조인
내부 조인 주어진 조건을 만족하는 두 테이블의 행을 반환하는 데 사용됩니다. 가장 널리 사용되는 조인 작업이며 기본 조인 유형으로 간주될 수 있습니다.
Inner join 또는 equijoin은 join-predicate에서 equality 비교를 사용하는 비교자 기반 조인입니다. 그러나 ">"와 같은 다른 비교 연산자를 사용하는 경우 equijoin이라고 할 수 없습니다.
내부 조인은 세 가지 하위 유형으로 더 나뉩니다.
- 세타 조인
- 자연스러운 결합
- EQUI 가입
세타 조인
세타 조인 세타로 표현된 조건에 따라 두 테이블을 병합할 수 있습니다. 세타 조인은 모든 비교 연산자에 적용됩니다. 기호로 표시됩니다. θJOIN 연산의 일반적인 경우는 세타 조인이라고 합니다.
구문 :
A ⋈θ B
세타 조인은 선택 기준의 모든 조건을 사용할 수 있습니다.
다음 표를 살펴보세요.
표 A | 표 B | |||
---|---|---|---|---|
열 1 | 열 2 | 열 1 | 열 2 | |
1 | 1 | 1 | 1 | |
1 | 2 | 1 | 3 |
예 :
A ⋈ A.column 2 > B.column 2 (B)
A ⋈ A.열 2 > B.열 2 (B) | |
---|---|
열 1 | 열 2 |
1 | 2 |
EQUI 가입
EQUI 가입 Theta 조인이 동등 조건만 사용할 때 수행됩니다. EQUI 조인은 효율적으로 구현하기 가장 어려운 작업입니다. RDBMS, RDBMS에 근본적인 성능 문제가 있는 이유 중 하나입니다.
예 :
A ⋈ A.column 2 = B.column 2 (B)
A ⋈ A.열 2 = B.열 2 (B) | |
---|---|
열 1 | 열 2 |
1 | 1 |
자연 조인(⋈)
자연 조인 비교 연산자를 사용하지 않습니다. 이 유형의 조인에서 속성은 동일한 이름과 도메인을 가져야 합니다. Natural Join에서는 두 관계 사이에 최소한 하나의 공통 속성이 있어야 합니다.
두 관계 모두에 나타나는 속성에 대해 선택 형성 동등성을 수행하고 중복 속성을 제거합니다.
예:
다음 두 표를 고려해보세요.
C | |
---|---|
에 | 사각형. |
2 | 4 |
3 | 9 |
D | |
---|---|
에 | 입방체 |
2 | 8 |
3 | 18 |
C ⋈ D
C ⋈ D | ||
---|---|---|
에 | 사각형. | 입방체 |
2 | 4 | 8 |
3 | 9 | 18 |
외부 결합
An 외부 결합 일치하는 레코드를 갖기 위해 두 조인 테이블의 각 레코드가 필요하지 않습니다. 이 유형의 조인에서는 일치하는 다른 레코드가 없더라도 테이블에 각 레코드가 유지됩니다.
외부 조인의 세 가지 유형은 다음과 같습니다.
- 왼쪽 외부 결합
- 오른쪽 외부 결합
- 전체 외부 결합
왼쪽 외부 조인(A ⟕ B)
왼쪽 외부 결합 오른쪽 테이블에 일치하는 행이 없더라도 왼쪽 테이블의 모든 행을 반환합니다. 오른쪽 테이블에 일치하는 레코드가 없으면 NULL이 반환됩니다.
다음 2개의 표를 고려하십시오.
A | |
---|---|
에 | 사각형. |
2 | 4 |
3 | 9 |
4 | 16 |
B | |
---|---|
에 | 입방체 |
2 | 8 |
3 | 18 |
5 | 75 |
AB
A ⋈ B | ||
---|---|---|
에 | 사각형. | 입방체 |
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
오른쪽 외부 조인( A ⟖ B )
오른쪽 외부 결합 왼쪽 테이블에 일치하는 행이 없더라도 오른쪽 테이블의 모든 열을 반환합니다. 왼쪽 테이블에 일치하는 항목이 없으면 NULL이 반환됩니다. RIGHT 외부 JOIN은 LEFT JOIN의 반대입니다.
이 예에서는 회원 이름과 회원이 대여한 영화를 가져와야 한다고 가정해 보겠습니다. 이제 아직 영화를 대여하지 않은 새 회원이 생겼습니다.
AB
A ⋈ B | ||
---|---|---|
에 | 입방체 | 사각형. |
2 | 8 | 4 |
3 | 18 | 9 |
5 | 75 | - |
완전 외부 조인(A ⟗ B)
안에 전체 외부 결합 , 일치 조건에 관계없이 두 릴레이션의 모든 튜플이 결과에 포함됩니다.
예:
AB
A ⋈ B | ||
---|---|---|
에 | 사각형. | 입방체 |
2 | 4 | 8 |
3 | 9 | 18 |
4 | 16 | - |
5 | - | 75 |
요약
- 조인에는 주로 두 가지 유형이 있습니다. DBMS 1) 내부 조인 2) 외부 조인
- 내부 조인은 널리 사용되는 조인 작업이며 기본 조인 유형으로 간주될 수 있습니다.
- 내부 조인은 세 가지 하위 유형으로 더 나뉩니다. 1) 세타 조인 2) 자연 조인 3) EQUI 조인
- Theta Join을 사용하면 theta로 표시되는 조건을 기반으로 두 테이블을 병합할 수 있습니다.
- 세타 조인이 등가 조건만 사용하면 동등 조인이 됩니다.
- 자연 조인은 비교 연산자를 사용하지 않습니다.
- 외부 조인에서는 두 조인 테이블의 각 레코드가 일치하는 레코드를 가질 필요가 없습니다.
- 외부 조인은 세 가지 하위 유형으로 더 나뉩니다. 1) 왼쪽 외부 조인 2) 오른쪽 외부 조인 3) 전체 외부 조인
- LEFT Outer Join은 오른쪽 테이블에 일치하는 행이 없더라도 왼쪽 테이블의 모든 행을 반환합니다.
- RIGHT 외부 조인은 왼쪽 테이블에 일치하는 행이 없더라도 오른쪽 테이블의 모든 열을 반환합니다.
- 완전 외부 조인에서는 일치 조건에 관계없이 두 릴레이션의 모든 튜플이 결과에 포함됩니다.