SobesLab логотип SobesLab

Ответ

JOIN объединяет данные из двух (или более) таблиц по столбцам: расширяет строку за счет полей из связанной таблицы (горизонтальное объединение). UNION объединяет результаты двух однотипных SELECT-запросов по строкам (вертикальное объединение): складывает строки первой выборки со строками второй. При этом UNION (без ALL) устраняет дублирующиеся строки. JOIN требует связи через условие, а UNION просто лепит результаты друг за другом (при условии одинаковой структуры).