В чем разница между JOIN и UNION?

JOIN объединяет строки из двух или более таблиц на основе связанного столбца между ними. UNION объединяет результирующие наборы двух или более SELECT запросов в один результирующий набор.

Короткий ответ

Что ответить на собеседовании

JOIN объединяет строки из двух или более таблиц на основе связанного столбца между ними. UNION объединяет результирующие наборы двух или более SELECT запросов в один результирующий набор.

Подробный разбор

Ответ с пояснениями

JOIN объединяет строки из двух или более таблиц на основе связанного столбца между ними. UNION объединяет результирующие наборы двух или более SELECT запросов в один результирующий набор.

Ключевые различия:

Характеристика JOIN UNION
Назначение Объединение столбцов из разных таблиц Объединение строк из разных результирующих наборов
Требования Наличие общего столбца для связывания Одинаковое количество столбцов и совместимые типы данных в SELECT запросах
Типы INNER, LEFT, RIGHT, FULL UNION (удаляет дубликаты), UNION ALL (нет)

Пример JOIN (SQL):

SELECT
    Customers.CustomerName,
    Orders.OrderID
FROM
    Customers
INNER JOIN
    Orders ON Customers.CustomerID = Orders.CustomerID;

Пример UNION (SQL):

SELECT City FROM Customers
UNION
SELECT City FROM Suppliers;

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее