DBMS 조인 유형: THETA, 내부, 외부, 등가 조인

⚡ 스마트 요약

DBMS에서 조인은 기본 키와 외래 키를 사용하여 두 개 이상의 테이블에서 행을 결합하는 이진 연산입니다. 조인은 일치하는 행만 반환하는 내부 조인과 일치하지 않는 행을 유지하고 빈칸을 null 값으로 채우는 외부 조인으로 나뉩니다.

  • 🔗 핵심 목적: 조인은 조인 조건을 기반으로 관련 테이블들을 하나의 결과 집합으로 병합합니다.
  • 🎯 내부 조인 : 두 테이블 모두에서 조건을 만족하는 행만 반환합니다. 기본 조인 유형입니다.
  • 📐 세타와 EQUI: 세타 조인은 모든 비교 연산자를 사용할 수 있지만, EQUI 조인은 같음 비교 연산자만 사용할 수 있습니다.
  • 🔄 자연스러운 결합: 이름이 동일한 속성을 찾아 중복된 열을 제거합니다.
  • ⬅️ 왼쪽 외부 조인: 왼쪽 테이블의 모든 행을 유지하고, 오른쪽 테이블에 일치하는 행이 없는 경우 null 값을 채웁니다.
  • 오른쪽 외부 조인: 오른쪽 테이블의 모든 행을 유지하고, 왼쪽 테이블에 일치하는 행이 없는 경우 null 값을 채웁니다.
  • 🌐 완전 외부 조인 : 일치하는지 여부와 관계없이 두 테이블의 모든 행을 유지합니다.

DBMS에서의 조인(Left Right)

DBMS에서 조인(Join)이란 무엇인가요?

DBMS에 가입 조인 연산은 단일 문에서 조인 결과와 선택 결과를 결합할 수 있는 이진 연산입니다. 조인 조건을 생성하는 목적은 두 개 이상의 테이블의 데이터를 결합하는 것입니다. 테이블들은 기본 키를 사용하여 연결됩니다. 외래 키.

조인 유형

DBMS에는 주로 두 가지 유형의 조인이 있습니다.

  1. 내부 조인: Theta, Natural, EQUI
  2. 외부 접합: 왼쪽, 오른쪽, 전체

아래 표는 각 조인 유형을 예시와 함께 설명하기 전에 모든 조인 유형을 미리 보여줍니다.

가입하기 반품 일치하지 않는 행
내면 (세타 / EQUI / 자연) 두 테이블 모두에서 조건을 만족하는 행 자격 정지
왼쪽 바깥쪽 왼쪽 모든 행과 일치하는 항목들 왼쪽부터 유지, 오른쪽은 없음
오른쪽 외부 오른쪽 행과 일치하는 모든 행 오른쪽에서 유지됨, 왼쪽은 없음
전체 외부 두 테이블의 모든 행 양쪽 모두에서 유지되며, 누락된 부분은 null입니다.

내부 조인

내부 조인 `join()`은 주어진 조건을 만족하는 두 테이블의 행을 반환하는 데 사용됩니다. 이는 가장 널리 사용되는 조인 연산이며 기본 조인 유형으로 간주될 수 있습니다.

내부 조인(또는 등가 조인)은 조인 조건자에 등가 비교 연산자를 사용하는 비교 기반 조인입니다. 하지만 ">"와 같은 다른 비교 연산자를 사용하면 등가 조인이라고 할 수 없습니다. 내부 조인은 다시 세 가지 하위 유형으로 나뉩니다.

  • 세타 조인
  • 자연스러운 결합
  • EQUI 가입

세타 조인

세타 조인 세타 조인을 사용하면 세타로 표시되는 조건을 기준으로 두 테이블을 병합할 수 있습니다. 세타 조인은 모든 비교 연산자에 적용됩니다. 세타 조인은 기호로 표시됩니다. θJOIN 연산의 일반적인 경우를 세타 조인(theta 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 가입 세타 조인이 동등 조건만 사용할 때 수행됩니다. EQUI 조인은 효율적으로 구현하기 가장 어려운 연산입니다. RDBMS그리고 이것이 바로 RDBMS가 성능 문제를 일으킬 수 있는 이유 중 하나입니다.

예 :

A ⋈ A.column 2 = B.column 2 (B)
A ⋈ A.열 2 = B.열 2 (B)
열 1 열 2
1 1

자연 조인(⋈)

자연 조인 비교 연산자를 사용하지 않습니다. 이러한 유형의 조인에서는 속성의 이름과 도메인이 동일해야 합니다. 자연 조인에서는 두 관계 사이에 적어도 하나의 공통 속성이 있어야 합니다.

이 기능은 두 관계 모두에 나타나는 속성에 대해 동일성 선택을 수행하고 중복 속성을 제거합니다.

예: 다음 두 표를 살펴보십시오.

C
사각형.
2 4
3 9
D
입방체
2 8
3 18
C ⋈ D
C ⋈ D
사각형. 입방체
2 4 8
3 9 18

외부 결합

An 외부 결합 외부 조인은 두 테이블의 각 레코드가 일치하는 레코드를 가질 필요가 없습니다. 이 유형의 조인에서는 일치하는 레코드가 없더라도 각 레코드가 유지됩니다. 외부 조인의 세 가지 유형은 다음과 같습니다.

  • 왼쪽 외부 결합
  • 오른쪽 외부 결합
  • 전체 외부 결합

왼쪽 외부 조인(A ⟕ B)

왼쪽 외부 결합 왼쪽 테이블의 모든 행을 반환합니다. 오른쪽 테이블에서 일치하는 행을 찾지 못한 경우에도 마찬가지입니다. 오른쪽 테이블에서 일치하는 레코드를 찾지 못한 경우에는 null을 반환합니다.

왼쪽 외부 결합

다음 두 표를 살펴보십시오.

A
사각형.
2 4
3 9
4 16
B
입방체
2 8
3 18
5 75
A Left Outer Join B
에이 ⟕ 비
사각형. 입방체
2 4 8
3 9 18
4 16 -

오른쪽 외부 연결(A ⟖ B)

오른쪽 외부 결합 오른쪽 외부 조인은 왼쪽 테이블에서 일치하는 행이 없더라도 오른쪽 테이블의 모든 열을 반환합니다. 왼쪽 테이블에서 일치하는 행이 없는 경우에는 null이 반환됩니다. 오른쪽 외부 조인은 왼쪽 외부 조인의 반대입니다.

오른쪽 외부 결합

A Right Outer Join B
에이 ⟖ 비
입방체 사각형.
2 8 4
3 18 9
5 75 -

전체 외부 조인(A ⟗ B)

안에 전체 외부 결합, 일치 조건에 관계없이 두 릴레이션의 모든 튜플이 결과에 포함됩니다.

예:

A Full Outer Join B
에이 ⟗ 비
사각형. 입방체
2 4 8
3 9 18
4 16 -
5 - 75

자주 묻는 질문

내부 조인은 두 테이블에서 일치하는 행만 반환합니다. 외부 조인은 하나 또는 두 테이블에서 일치하지 않는 행도 유지하며, 일치하지 않는 쪽은 null로 채웁니다.

세타 조인은 크거나 작음과 같은 모든 비교 연산자를 사용할 수 있습니다. EQUI 조인은 같음 연산자만 사용하도록 제한된 세타 조인이므로 동일한 값만 일치시킵니다.

두 방식 모두 동일성을 기준으로 조인하지만, 자연 조인은 이름이 같은 열을 자동으로 찾아 중복 열을 제거합니다. EQUI 조인은 조건을 명시적으로 지정하여 두 열 모두를 유지합니다.

예. 주어진 스키마와 질문을 바탕으로 AI는 조인 유형과 키를 선택할 수 있습니다. 예를 들어 주문 내역이 없는 고객을 유지하려면 왼쪽 조인을 사용할 수 있습니다. 잘못된 조인을 사용하면 행 수가 달라지므로 결과를 확인하십시오.

예. AI는 한쪽의 조인 키가 고유하지 않아 다대다 관계가 발생하는 경우를 감지하고, 조건을 추가하거나 먼저 집계하여 각 일치 항목이 한 번만 계산되도록 제안할 수 있습니다.

이 게시물을 요약하면 다음과 같습니다.