JOIN соединяет столбцы связанных строк из таблиц, а UNION объединяет строки совместимых результатов. UNION удаляет дубликаты, UNION ALL сохраняет их.
Чем отличается JOIN от UNION?
JOIN соединяет столбцы связанных строк из таблиц, а UNION объединяет строки совместимых результатов. UNION удаляет дубликаты, UNION ALL сохраняет их.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
JOIN соединяет столбцы связанных строк из таблиц, а UNION объединяет строки совместимых результатов. UNION удаляет дубликаты, UNION ALL сохраняет их.
Например, JOIN добавляет имя автора к книге по ключу, а UNION собирает одинаково устроенные списки книг из двух источников. Для UNION нужно одинаковое число колонок и совместимые типы по позициям. У JOIN число строк зависит от кратности совпадений, поэтому связь один-ко-многим может размножать строки.