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