UNION ALL объединяет результаты и сохраняет дубликаты, а UNION удаляет повторяющиеся строки. Оба требуют совместимого числа и типов столбцов.
Что делает UNION ALL и чем отличается от UNION?
UNION ALL объединяет результаты и сохраняет дубликаты, а UNION удаляет повторяющиеся строки. Оба требуют совместимого числа и типов столбцов.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
UNION ALL объединяет результаты и сохраняет дубликаты, а UNION удаляет повторяющиеся строки. Оба требуют совместимого числа и типов столбцов.
Если одинаковая строка встречается в двух выборках, UNION ALL вернёт обе копии. UNION сравнивает всю строку результата, а не только первый столбец, и может потребовать дополнительную сортировку или хеширование.
Порядок результата без внешнего ORDER BY не гарантирован. Выбор ALL определяется нужной семантикой, а не только желанием ускорить запрос.