UNION и UNION ALL — в чём разница? Какие условия должны быть соблюдены?

UNION объединяет результаты и удаляет дубликаты полных строк. UNION ALL сохраняет все строки и обычно дешевле, поскольку не требует дедупликации.

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

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

UNION объединяет результаты и удаляет дубликаты полных строк. UNION ALL сохраняет все строки и обычно дешевле, поскольку не требует дедупликации.

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

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

UNION объединяет результаты и удаляет дубликаты полных строк. UNION ALL сохраняет все строки и обычно дешевле, поскольку не требует дедупликации.

У запросов должно совпадать число столбцов, а соответствующие позиции должны иметь совместимые типы. Имена итоговых столбцов обычно берутся из первого SELECT.

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

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

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

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

Подробнее