DBMS присъединявания: Вътрешен, Ляв Външен, ТЕТА Типове операции за присъединяване

Съдържание:

Anonim

Какво е присъединяване в СУБД?

Присъединяването в СУБД е двоична операция, която ви позволява да комбинирате присъединителен продукт и селекция в един единствен израз. Целта на създаването на условие за присъединяване е, че ви помага да комбинирате данните от две или повече таблици на СУБД. Таблиците в СУБД са свързани с помощта на първичния ключ и външните ключове.

В този урок на СУБД ще научите:

  • Видове присъединяване
  • Вътрешно присъединяване
    • Theta Join
    • EQUI присъединяване:
    • Естествено присъединяване (⋈)
  • Външно присъединяване
    • Ляво външно присъединяване (A B)
    • Дясно външно присъединяване (A B)
    • Пълно външно присъединяване (A B)

Видове присъединяване

В СУБД има основно два вида присъединявания:

  1. Вътрешни присъединения: Theta, Natural, EQUI
  2. Външно присъединяване: ляво, дясно, пълно

Нека ги разгледаме в детайли:

Вътрешно присъединяване

INNER JOIN се използва за връщане на редове от двете таблици, които отговарят на даденото условие. Това е най-широко използваната операция за присъединяване и може да се разглежда като тип съединение по подразбиране

Вътрешно присъединяване или еквиюджойн е базирано на сравнение съединение, което използва сравнения на равенствата в предиката на присъединяването. Ако обаче използвате други оператори за сравнение като ">", това не може да се нарече equijoin.

Вътрешно присъединяване допълнително разделено на три подтипа:

  • Theta се присъедини
  • Естествено присъединяване
  • EQUI присъединяване

Theta Join

THETA JOIN ви позволява да обедините две таблици въз основа на условието, представено от theta. Theta присъединява работата за всички оператори за сравнение. Обозначава се със символ θ . Общият случай на JOIN операция се нарича Theta join.

Синтаксис:

A ⋈θ B

Theta присъединяването може да използва всякакви условия в критериите за подбор.

Обмислете следните таблици.

Таблица А Таблица Б
колона 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 присъединяването е най-трудната операция за ефективно прилагане в RDBMS и една от причините RDBMS да имат съществени проблеми с производителността.

Например:

A ⋈ A.column 2 = B.column 2 (B)
A ⋈ A. колона 2 = B. колона 2 (B)
колона 1 колона 2
1 1

Естествено присъединяване (⋈)

NATURAL JOIN не използва нито един от операторите за сравнение. При този тип присъединяване атрибутите трябва да имат едно и също име и домейн. В Natural Join трябва да има поне един общ атрибут между две отношения.

Той извършва селекция, формираща равенство на тези атрибути, които се появяват и в двете отношения, и елиминира дублиращите се атрибути.

Пример:

Обмислете следните две таблици

° С
Брой Квадрат
2 4
3 9
д
Брой Кубче
2 8
3 18.
C ⋈ D
C ⋈ D
Брой Квадрат Кубче
2 4 8
3 9 18.

Външно присъединяване

ЗА ВЪНШНО ПРИСЪЕДИНЯВАНЕ не се изисква всеки запис в двете таблици за присъединяване да има съвпадащ запис. При този тип присъединяване таблицата запазва всеки запис, дори ако не съществува друг съвпадащ запис.

Три вида външни присъединявания са:

  • Ляво външно присъединяване
  • Правилно външно присъединяване
  • Пълно външно присъединяване

Ляво външно присъединяване (A B)

LEFT JOIN връща всички редове от таблицата вляво, дори ако в таблицата отдясно не са намерени съответстващи редове. Когато в таблицата вдясно не е намерен съвпадащ запис, се връща NULL.

Обмислете следните 2 таблици

A
Брой Квадрат
2 4
3 9
4 16.
Б.
Брой Кубче
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) Theta присъединяване 2) Естествено присъединяване 3) EQUI присъединяване
  • Theta Join ви позволява да обедините две таблици въз основа на условието, представено от theta
  • Когато theta съединението използва само условие за еквивалентност, то се превръща в equi join.
  • Естественото присъединяване не използва нито един от операторите за сравнение.
  • Външното присъединяване не изисква всеки запис в двете таблици на присъединяване да има съвпадащ запис.
  • Външното присъединяване е допълнително разделено на три подтипа: 1) ляво външно присъединяване 2) дясно външно присъединяване 3) пълно външно присъединяване
  • ЛЯВОТО външно присъединяване връща всички редове от таблицата вляво, дори ако в таблицата отдясно не са намерени съответстващи редове.
  • НАДЯСНОТО външно присъединяване връща всички колони от таблицата вдясно, дори ако в таблицата отляво не са намерени съответстващи редове.
  • При пълно външно съединение, всички кортежи от двете отношения са включени в резултата, независимо от условието за съвпадение.