Ключова різниця: об'єднання в SQL виконується для об'єднання даних двох різних таблиць. Внутрішнє приєднання - це умова, яка приводить до рядків, які задовольняють умову "де" у "всіх таблицях"; у той час як зовнішнє приєднання - це умова, що призводить до тих рядків, які задовольняють умові "де" у "принаймні одній з таблиць".
При реалізації об'єднань створюються тимчасові таблиці, які базуються на стовпцях. Для умов з'єднання повинні бути завжди дві таблиці. Ці умови потім об'єднують відповідні компоненти однієї таблиці з іншими компонентами і дають початок цілком новій таблиці. Метою цих таблиць є вилучення значущих і необхідних даних або інформації. Залежно від умов існують два типи з'єднань, внутрішня і зовнішня.
Синтаксис SQL INNER JOIN:
SELECT стовпець / ів
ВІД таблиці1
Таблиця INNER JOIN2
ON table1.column_name = table2.column_name;
Ключове слово INNER JOIN вибирає всі рядки з обох таблиць, якщо існує відповідність між стовпцями в обох таблицях.
Внутрішні об'єднання залежать від вибору конструкцій бази даних і характеристик. Відповідно, ці внутрішні об'єднання використовуються в Equi-Joins і Natural Joins. У Equi Join існує певний тип порівняння, який використовується для вирівнювання двох даних таблиць. Отже, ця таблиця використовує рівний предикат. Природне з'єднання - це тип об'єднання Equi.
Синтаксис для Equi Join такий:
S ELECT *
ВІД таблиці1, таблиця 2
WHERE table1.coloumn_name = table2.coloumn_name;
Якщо стовпці в equi-join мають однакову назву, то відповідна версія SQL надає необов'язкове скорочення, яке може бути виражено конструкцією USING як:
SELECT *
FROM table1 INNER JOIN таблиця2 ВИКОРИСТАННЯ (column_name);
Синтаксис для природного приєднання такий:
SELECT *
ВІД таблиці1 NATURAL JOIN таблиці2;
"Зовнішньому приєднанню" не потрібні умови відповідності для записів. Це умова приєднання зберігає всі інші записи, крім записів, що не збігаються. Це приєднання додатково розподіляється в лівих, правих і повних зовнішніх умовах з'єднання, які реалізуються відповідно до бажаних умов таблиці і атрибутів.
Лівий зовнішній об'єкт
Ключове слово LEFT JOIN повертає всі рядки з лівої таблиці (table1), з відповідними рядками в правій таблиці (таблиця2). Результат "NULL" у правій частині, коли немає відповідності.
Синтаксис для лівого зовнішнього приєднання наступний:
SELECT стовпець / ів
ВІД таблиці1
LEFT OUTER JOIN таблиця2
ON table1.column_name = table2.column_name;
Праворуч
Ключове слово RIGHT JOIN повертає всі рядки з правої таблиці (table2), з відповідними рядками в таблиці ліворуч (табл. 1). Результат - NULL у лівій частині, коли немає відповідності.
Синтаксис для правого зовнішнього приєднання наступний:
SELECT стовпець / ів
ВІД таблиці1
Таблиця RIGHT OUTER JOIN
ON table1.column_name = table2.column_name;
Повна зовнішня приєднання
Ключове слово FULL OUTER JOIN повертає всі рядки з лівої таблиці (таблиця1) і правої таблиці (таблиця2). Ключове слово FULL OUTER JOIN об'єднує як результат об'єднання LEFT і RIGHT.
Синтаксис для повної зовнішньої приєднання:
SELECT стовпець / ів
ВІД таблиці1
FULL OUTER JOIN table2
ON table1.column_name = table2.column_name;
Порівняння між внутрішнім приєднанням та зовнішнім приєднанням:
Внутрішнє з'єднання | Outer Join | |
Основна функція | Внутрішні об'єднання використовуються для пошуку відповідних рядків між 2 таблицями. | Зовнішнє з'єднання зберігає рядки таблиці чи обох таблиць. |
Наявність поширених змінних | Тут загальна змінна обов'язково повинна бути в обох таблицях. | Тут змінна залежить тільки від першої таблиці, яка може бути або не бути присутнім у другій таблиці. |
Повернення | Внутрішнє приєднання повертає лише рядки, в яких існує відповідність на основі предиката приєднання. | Зовнішнє приєднання поверне всі рядки, незалежно від того, чи вони співставлені на основі відповідності чи не співпадають на основі предиката приєднання. |
Звик до | Він використовується для перегляду записів тільки тоді, коли записи знаходяться на обох таблицях. | Він використовується для перегляду всіх записів лише в одній таблиці. |
Застосовується в | Вони застосовуються в: Equi-Join і Природне приєднання | Вони застосовуються як: Лівий зовнішній об'єкт Праворуч Повна зовнішня приєднання |