СУБД Приєднання: Внутрішній, Лівий Зовнішній, ТЕТА Типи операцій приєднання

Зміст:

Anonim

Що таке Приєднання в СУБД?

Приєднання в СУБД - це двійкова операція, яка дозволяє поєднати продукт приєднання та виділення в одному єдиному твердженні. Мета створення умови приєднання полягає в тому, що це допомагає поєднувати дані з двох або більше таблиць СУБД. Таблиці в СУБД пов'язані з використанням первинного та зовнішнього ключів.

У цьому підручнику СУБД ви дізнаєтесь:

  • Типи приєднання
  • Внутрішнє з'єднання
    • Тета Приєднуйся
    • Приєднання до EQUI:
    • Природне приєднання (⋈)
  • Зовнішнє приєднання
    • Ліве зовнішнє приєднання (A B)
    • Праве зовнішнє з'єднання (A B)
    • Повне зовнішнє приєднання (A B)

Типи приєднання

В СУБД в основному є два типи об’єднань:

  1. Внутрішні приєднання: Theta, Natural, EQUI
  2. Зовнішнє з'єднання: ліве, праве, повне

Давайте розглянемо їх докладно:

Внутрішнє з'єднання

INNER JOIN використовується для повернення рядків з обох таблиць, які задовольняють заданій умові. Це найбільш широко використовувана операція об’єднання і може розглядатися як тип об’єднання за замовчуванням

Внутрішнє приєднання або еквіод'єднання - це об'єднання на основі порівняння, яке використовує порівняння рівності в предикаті об'єднання. Однак якщо ви використовуєте інші оператори порівняння, такі як ">", це не можна назвати equijoin.

Внутрішнє приєднання додатково поділено на три підтипи:

  • Тета приєднуйтесь
  • Природне приєднання
  • Приєднання до EQUI

Тета Приєднуйся

THETA JOIN дозволяє об’єднати дві таблиці на основі умови, представленої тетою. Theta приєднується до роботи для всіх операторів порівняння. Він позначається символом θ . Загальний випадок операції JOIN називається об'єднанням Theta.

Синтаксис:

A ⋈θ B

Theta join може використовувати будь-які умови в критеріях відбору.

Розглянемо наступні таблиці.

Таблиця А Таблиця В
стовпець 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 JOIN виконується, коли для об'єднання Theta використовується лише умова еквівалентності. Приєднання EQUI - це найскладніша операція для ефективної реалізації в СУБД, і одна з причин, чому СУБД мають суттєві проблеми з продуктивністю.

Наприклад:

A ⋈ A.column 2 = B.column 2 (B)
A ⋈ A. стовпець 2 = B. стовпець 2 (B)
стовпець 1 графа 2
1 1

Природне приєднання (⋈)

NATURAL JOIN не використовує жодного оператора порівняння. У цьому типі об’єднання атрибути повинні мати однакові ім’я та домен. У програмі Natural Join між двома відносинами повинен бути принаймні один загальний атрибут.

Він виконує виділення, утворюючи рівність тих атрибутів, які відображаються в обох відносинах, і усуває повторювані атрибути.

Приклад:

Розглянемо наступні дві таблиці

C.
Кількість Площа
2 4
3 9
D
Кількість Куб
2 8
3 18
C ⋈ D
C ⋈ D
Кількість Площа Куб
2 4 8
3 9 18

Зовнішнє приєднання

OUTER JOIN не потрібно кожен запис в два об'єднанні таблиць , щоб мати відповідний запис. При цьому типі об’єднання таблиця зберігає кожен запис, навіть якщо жодного іншого відповідного запису не існує.

Три типи зовнішніх об’єднань:

  • Зліва Зовнішнє приєднання
  • Правильне зовнішнє приєднання
  • Повне Зовнішнє Приєднання

Ліве зовнішнє приєднання (A B)

LEFT JOIN повертає всі рядки з таблиці ліворуч, навіть якщо в таблиці справа не знайдено відповідних рядків. Коли в таблиці праворуч не знайдено відповідного запису, повертається NULL.

Розгляньте наступні 2 таблиці

A
Кількість Площа
2 4
3 9
4 16
B
Кількість Куб
2 8
3 18
5 75
A  B
A ⋈ B
Кількість Площа Куб
2 4 8
3 9 18
4 16 -

Праве зовнішнє з'єднання (A B)

RIGHT JOIN повертає всі стовпці з таблиці праворуч, навіть якщо в таблиці зліва не знайдено відповідних рядків. Якщо в таблиці зліва не знайдено збігів, повертається NULL. ПРАВО зовнішнє JOIN є протилежністю LEFT JOIN

У нашому прикладі припустимо, що вам потрібно отримати імена учасників та орендовані ними фільми. Тепер у нас є новий учасник, який ще не взяв у прокат жодного фільму.

A  B
A ⋈ B
Кількість Куб Площа
2 8 4
3 18 9
5 75 -

Повне зовнішнє приєднання (A B)

У ПОВНІЙ ЗОВНІШНІЙ ПРИЄДНАННІ всі результати з обох відношень включаються в результат, незалежно від умови відповідності.

Приклад:

A  B
A ⋈ B
Кількість Площа Куб
2 4 8
3 9 18
4 16 -
5 - 75

Короткий зміст:

  • В СУБД в основному є два типи об’єднань 1) Внутрішнє приєднання 2) Зовнішнє приєднання
  • Внутрішнє об’єднання є широко використовуваною операцією об’єднання і може розглядатися як тип об’єднання за замовчуванням.
  • Внутрішнє з'єднання додатково поділяється на три підтипи: 1) Тета-з'єднання 2) Природне з'єднання 3) Приєднання EQUI
  • Theta Join дозволяє об’єднати дві таблиці на основі умови, представленої theta
  • Коли тета-об’єднання використовує лише умову еквівалентності, воно стає екві-об’єднанням.
  • Натуральне з'єднання не використовує жодного оператора порівняння.
  • Зовнішнє об’єднання не вимагає, щоб кожен запис у двох таблицях об’єднання мав відповідний запис.
  • Зовнішнє приєднання також поділяється на три підтипи: 1) ліве зовнішнє приєднання 2) праве зовнішнє приєднання 3) повне зовнішнє приєднання
  • LEFT Outer Join повертає всі рядки з таблиці ліворуч, навіть якщо в таблиці праворуч не знайдено відповідних рядків.
  • ПРАВИЛЬНЕ зовнішнє приєднання повертає всі стовпці з таблиці праворуч, навіть якщо в таблиці зліва не знайдено відповідних рядків.
  • При повному зовнішньому з'єднанні всі результати з обох відносин включаються в результат, незалежно від умови відповідності.