Що таке повне зовнішнє об'єднання з прикладом?

Повне зовнішнє приєднання є метод об'єднання таблиць таким чином, щоб результат включав невідповідні рядки обох таблиць. Якщо ви об’єднуєте дві таблиці та бажаєте, щоб набір результатів включав невідповідні рядки з обох таблиць, використовуйте речення FULL OUTER JOIN. Зіставлення базується на умові з’єднання.

Загальні випадки використання FULL OUTER JOIN включають: Об’єднання даних: коли потрібно об’єднати дані з двох таблиць в один набір результатів, зберігаючи всі записи. Обробка відсутніх даних: у сценаріях, коли дані можуть бути відсутні або неповні в одній або обох таблицях.

LEFT JOIN повертає лише невідповідні рядки з лівої таблиці, а також відповідні рядки в обох таблицях. RIGHT JOIN повертає лише невідповідні рядки з правої таблиці, а також відповідні рядки в обох таблицях. FULL OUTER JOIN повертає невідповідні рядки з обох таблиць, а також відповідні рядки в обох таблицях.

CROSS JOIN не мають речень ON, оскільки все поєднується з усім. FULL OUTER JOIN — це комбінація LEFT OUTER і RIGHT OUTER JOIN. FULL OUTER JOIN повертає ті рядки у двох таблицях, які відповідають реченню WHERE, і показує нульові значення для рядків, для яких умова ON не виконується.

У конкретному випадку нашого прикладу з таблицями Employees і Departments UNION використовується в обхідному шляху MySQL для ПОВНОГО ЗОВНІШНЬОГО ОБ’ЄДНАННЯ не призведе до дублікатів. Це пояснюється тим, що оператор UNION автоматично видаляє повторювані рядки зі свого набору результатів.

Приклад повного зовнішнього об’єднання FULL OUTER JOIN Відділи ON Employees. DepartmentID = Відділи. ID відділу; Цей запит поверне всі записи з таблиць «Співробітники» та «Відділи», зіставляючи їх, де це можливо, і включаючи значення NULL, якщо немає збігу.