Типи приєднань до SQL Server - 5 найкращих приєднань до SQL Server із прикладами

Зміст:

Anonim

Огляд типів приєднань до SQL Server

Застереження приєднання, ключове слово JOIN об'єднує кілька таблиць в один набір результатів. У пункті FROM повинні бути включені всі таблиці. Розділяє кожну таблицю комою WHERE, яка зазвичай включена.

Ми можемо включити булевий вираз, який повертає істинне або хибне, і ці вирази можуть посилатися на стовпці у всіх таблицях.

Типи приєднань до SQL Server

Існують різні типи приєднань

  • КРОВИЙ ПРИЄДНАЙТЕСЬ
  • ВНУТРІШНЄ З'ЄДНАННЯ
  • ЗОВНІШНЕ ПРИЄДНАЙТЕСЬ
  1. ЛІВНІЙ ЗОВНІШНІ ПРИЄДНАЙТЕСЬ
  2. ПРАВО ПРИЄДНАЙТЕСЬ
  • ПОВНОГО ПРИЄДНАЙТЕСЬ
  • САМО ПРИЄДНАЙТЕСЬ

Давайте розберемося в деталях кожного з цих приєднань: -

1) Перехресне з'єднання

  • Це найпростіший ПРИЄДНАЙТЕСЬ
  • Він повертає всі рядки з обох таблиць
  • Застереження "ДЕ"
  • Це також найменш корисне
  • Це дуже неефективно
  • Це створює декартовий продукт
  • CROSS мається на увазі

Приклад

Тож усі з першої таблиці з кожним фрагментом даних з другої таблиці не намагаються будь-якого зіставлення, так що це те, що ви не хочете робити.

Шукайте пункт ВІД, де у вас є декілька таблиць, а в пункті WHERE немає.

2) Внутрішня приєднання

Вихід із запиту:

Ваш початковий і останній рядки мають значення координування, пов'язані з C2. Центральні ряди зазвичай не зустрічаються. Останній кінцевий результат містить усі значення як через початковий, так і в останній рядки, але не містять середнього рядка, що не відповідає.

  • Це найбільш типова ПРИЄДНАЙТЕСЬ
  • Це підкреслювало реляційний характер бази даних
  • Це дозволяє нам співставити значення стовпця в одній із таблиць зі значенням стовпця в іншій таблиці.
  • Первинний ключ в одній із таблиць та зовнішній ключ в одній з інших таблиць.

Приклад

Ось p.person_id - наш основний ключ у таблиці персоналу,

email_address_person_id - наш зовнішній ключ у таблиці адрес електронної пошти.

Давайте подивимось на таблицю людей

У нас є ці чотири ряди. А потім усі відповідники всередині таблиці електронних адрес.

Отже, врешті-решт, слід отримати трьох людей, бо у нас є людина Шеннон, яка не має електронної адреси

Вихід із запиту:

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

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

  • INNER JOIN не має значення NULL
  • ЗОВНІШНЕ ПРИЄДНАННЯ працює навіть тоді, коли у другій таблиці немає відповідності.
  • Стовпців NULL, якщо у другій таблиці немає відповідності
  • ПОВНОГО ПРИЄДНАННЯ поверніть усі об'єднані рядки
  • NULL, коли в жодній таблиці немає відповідності

а) Залишилося зовнішнє з'єднання

Вихід із запиту: Ви як початкові, так і в останніх рядках мають значення координування, пов'язані з C2. Центральні ряди зазвичай не зустрічаються. Останній кінцевий результат міг би зберегти всі рядки першої таблиці, але фактично залишить невідповідним рядок через другу таблицю.

  • Ще одна приєднана NULL
  • Усі рядки з лівого боку будуть повернуті
  • NULL для невідповідного столу правої сторони

Приклад

Вихід із запиту:

Ви помічаєте, що в таблиці Person є один рядок, який не має значень у таблиці адрес електронної пошти. Тож ЛІВНІЙ ЗОВНІЙ ПРИЄДНАЙТЕ нам.

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

Вихід із запиту:

Ви як початкові, так і в останніх рядках мають значення координування, пов'язані з C2. Центральні ряди зазвичай не зустрічаються. Останній кінцевий результат міг би зберігати всі рядки другої таблиці, але насправді не залишиться незрівняним рядком через першу таблицю.

  • Навпроти СПІЛЬНОГО ПРИЄДНАННЯ ЛІВО
  • Усі рядки з правого боку будуть повернуті
  • NULL для таблиці, що не відповідає лівій стороні

Приклад Вихід із запиту:

Ми отримуємо три результати. Ось наш результат ПРАВИЛЬНИЙ ПРИЄДНАЙТЕСЬ, де у таблиці правої таблиці є рядок із таблиці адрес електронної пошти, який не має відповідного рядка.

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

Приклад

Вихід із запиту:

Ми можемо поєднати результат ЛІВНЕШЕГО ПРИЄДНУТЬСЯ до ПРИЄДНАННЯ ВЛІШО та ПРАВО

5) Самозаєднання

  • SELF - це не ключове слово. Це просто ця ідея, що ви можете скласти стіл на собі
  • Дивно, але іноді корисно
  • Немає спеціального синтаксису
  • Та сама таблиця ліворуч та праворуч ПРИЄДНАЙТЕСЬ
  • Корисно, коли таблиця містить ієрархічні дані

Приклад

ВИБІР *

ВІД замовлень

ПРИЄДНАЙТЕ підписки

ON замовлення.subscription_id = subscriptions.subscription_id;

Ми отримуємо таблицю замовлень та таблицю підписок та приєднуємось до таблиці, використовуючи SELECT всі стовпці.

Щоб отримати результат.

Висновок:

Приєднання - це те, що ми реально змушуємо реалізувати реляційну модель. Реляційна модель полягає в тому, щоб дані були розділені, нормалізовані в декілька таблиць, але в змозі знову їх об'єднати, коли ми хочемо побачити ці відносини. І різні види приєднань дозволяють нам робити це дещо по-різному.

Рекомендовані статті

Це було керівництвом щодо типів об'єднань на SQL-сервері. Тут ми обговорюємо огляд та типи приєднань до SQL з їх прикладами. Ви також можете ознайомитися з іншими запропонованими нами статтями, щоб дізнатися більше -

  1. Що таке SQL Server?
  2. Кар'єра в SQL Server
  3. Навчання PL SQL
  4. Оператори MySQL
  5. Топ 6 типів приєднань до MySQL з прикладами