UNION объединяет результаты двух запросов и удаляет дубликаты, а UNION ALL объединяет результаты без удаления повторов. Если важна скорость и дубликаты допустимы, обычно выбирают UNION ALL.
UNION объединяет результаты двух запросов и удаляет дубликаты, а UNION ALL объединяет результаты без удаления повторов. Если важна скорость и дубликаты допустимы, обычно выбирают UNION ALL.
Что делает UNION
UNION объединяет результаты двух или более запросов в один набор и убирает повторяющиеся строки.
Что делает UNION ALL
UNION ALL тоже объединяет результаты запросов, но не удаляет дубликаты. Поэтому он обычно быстрее.
Пример
SELECT city FROM users
UNION
SELECT city FROM customers;Этот запрос вернёт список уникальных городов из обеих таблиц.
Если заменить UNION на UNION ALL, то одинаковые города могут встретиться в результате несколько раз.
Когда что использовать
UNION берут, когда нужны только уникальные значения. UNION ALL выбирают, когда нужно просто склеить результаты и не тратить время на удаление дублей.
Как ответить на собеседовании
Разница в том, что UNION удаляет дубликаты, а UNION ALL — нет. Если дубликаты не мешают, UNION ALL обычно предпочтительнее по производительности.
Оцени свой прогресс