У SQL, a приєднатися використовується для порівняння та об'єднання - буквально приєднуйтесь - та повернення конкретних рядків даних з двох або більше таблиць у базі даних. An внутрішнє з'єднання знаходить і повертає відповідні дані з таблиць, а зовнішнє з'єднання знаходить і повертає відповідні дані і деякі різні дані з таблиць.
Внутрішнє з'єднання фокусується на спільності між двома таблицями. Під час використання внутрішнього з'єднання повинно бути принаймні кілька даних відповідності між двома (або більше) таблицями, які порівнюються. Внутрішнє з'єднання здійснює пошук таблиць відповідності або перекриття даних. Знайшовши його, внутрішній пристрій поєднує та повертає інформацію в одну нову таблицю.
Розглянемо загальний сценарій двох таблиць: ціни на продукцію та кількість. Загальна інформація у двох таблицях - це назва продукту, так що це логічний стовпець для об'єднання таблиць на. Є кілька продуктів, які є спільними для двох таблиць; інші унікальні для однієї з таблиць і не мають відповідності в іншій таблиці.
Внутрішнє приєднання Продукція повертає інформацію лише про ті продукти, які є загальними в обох таблицях.
Зовнішнє з'єднання повертає набір записів (або рядків), які включають те, що повернеться внутрішнє з'єднання, але також включає інші рядки, для яких відповідна відповідність не знайдена в іншій таблиці.
Існує три типи зовнішніх з'єднань:
Кожне з цих зовнішніх з'єднань відноситься до тієї частини даних, яка порівнюється, поєднується та повертається. Іноді в цьому процесі будуть створюватися нулі, оскільки одні дані поділяються, а інші - ні.
Ліве зовнішнє з'єднання поверне всі дані в Таблиці 1 і всі спільні дані (так, внутрішня частина прикладу діаграми Венна), але лише відповідні дані з Таблиці 2, що є правильним з'єднанням.
У нашій прикладі бази даних є два продукти - апельсини та помідори - «зліва» (Ціни таблиця), які не мають відповідного запису у "правильному" (таблиці кількості). У лівому з’єднанні ці рядки включаються до набору результатів із NULL у стовпці Кількість. Інші рядки в результаті такі ж, як внутрішні з'єднання.
Правий зовнішній з'єднання повертає дані Таблиці 2 та всі спільні дані, але лише відповідні дані з Таблиці 1, що є лівим з'єднанням.
Подібно до прикладу з’єднання ліворуч, вихід правого зовнішнього з'єднання включає всі ряди внутрішнього з'єднання та два ряди - брокколі та сквош - з "правого" (Кількість таблиця), які не мають відповідних записів зліва.
Повне зовнішнє з'єднання, або повне з'єднання, яке є ні підтримується популярною системою управління базами даних MySQL, поєднує та повертає всі дані з двох або більше таблиць, незалежно від того, чи є спільна інформація. Подумайте про повне приєднання як просто дублювання всієї зазначеної інформації, але в одній таблиці, а не кількох таблиць. Якщо відсутні відповідні дані, будуть створені нулі.
Це лише основи, але багато речей можна зробити за допомогою приєднання. Є навіть приєднання, які можуть виключати інші приєднання!
Це відео пояснює різницю між різними типами приєднань. Починати його можна з того моменту, коли починається дискусія про приєднання.