Внутрішнє приєднання проти зовнішнього приєднання


У SQL, a приєднатися використовується для порівняння та об'єднання - буквально приєднуйтесь - та повернення конкретних рядків даних з двох або більше таблиць у базі даних. An внутрішнє з'єднання знаходить і повертає відповідні дані з таблиць, а зовнішнє з'єднання знаходить і повертає відповідні дані і деякі різні дані з таблиць.

повідомити про це оголошення

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

Внутрішнє з'єднання фокусується на спільності між двома таблицями. Під час використання внутрішнього з'єднання повинно бути принаймні кілька даних відповідності між двома (або більше) таблицями, які порівнюються. Внутрішнє з'єднання здійснює пошук таблиць відповідності або перекриття даних. Знайшовши його, внутрішній пристрій поєднує та повертає інформацію в одну нову таблицю.

Приклад внутрішнього приєднання

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

Внутрішнє приєднання Продукція повертає інформацію лише про ті продукти, які є загальними в обох таблицях.

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

Зовнішнє з'єднання повертає набір записів (або рядків), які включають те, що повернеться внутрішнє з'єднання, але також включає інші рядки, для яких відповідна відповідність не знайдена в іншій таблиці.

Існує три типи зовнішніх з'єднань:

  • З'єднати ліворуч (або приєднатись долі)
  • Правильне зовнішнє приєднання (або право приєднання)
  • Повне зовнішнє приєднання (або повне приєднання)

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

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

Ліве зовнішнє з'єднання поверне всі дані в Таблиці 1 і всі спільні дані (так, внутрішня частина прикладу діаграми Венна), але лише відповідні дані з Таблиці 2, що є правильним з'єднанням.

Приклад приєднання зліва

У нашій прикладі бази даних є два продукти - апельсини та помідори - «зліва» (Ціни таблиця), які не мають відповідного запису у "правильному" (таблиці кількості). У лівому з’єднанні ці рядки включаються до набору результатів із NULL у стовпці Кількість. Інші рядки в результаті такі ж, як внутрішні з'єднання.

Справа назовні

Правий зовнішній з'єднання повертає дані Таблиці 2 та всі спільні дані, але лише відповідні дані з Таблиці 1, що є лівим з'єднанням.

Приклад правого приєднання

Подібно до прикладу з’єднання ліворуч, вихід правого зовнішнього з'єднання включає всі ряди внутрішнього з'єднання та два ряди - брокколі та сквош - з "правого" (Кількість таблиця), які не мають відповідних записів зліва.

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

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

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

Відео з поясненням "Внутрішня проти зовнішньої"

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

Список літератури

  • Різниця між внутрішнім і зовнішнім з'єднанням - Переповнення стеку
  • SQL Inner Join - Квакіт
  • Зовнішнє приєднання SQL - Квакіт
  • Використання внутрішніх з'єднань - Microsoft SQL Server
  • Використання зовнішніх з'єднань - Microsoft SQL Server
  • Візуальне представлення приєднань SQL - CodeProject
  • Вікіпедія: приєднайтеся (SQL)