Таблицы orders_2024 и orders_2025 имеют одинаковую структуру. Некоторые заказы случайно попали в обе таблицы. Чем будут отличаться результаты SELECT * FROM orders_2024 UNION SELECT * FROM orders_2025 и того же запроса с UNION ALL?

AОба запроса вернут одинаковый результат, потому что UNION ALL — синоним UNION
BЗапрос с UNION уберёт дубликаты из общего результата, а UNION ALL вернёт все строки
CЗапрос с UNION ALL отсортирует результат, а UNION оставит строки без сортировки
DЗапрос с UNION объединит столбцы двух таблиц, а UNION ALL объединит строки
Правильный ответ. UNION убирает дублирующиеся строки из объединённого результата, а UNION ALL возвращает все строки без проверки.

Разбор

UNION выполняет дополнительный шаг дедупликации: если одна и та же строка есть в обоих запросах, она попадёт в результат один раз. UNION ALL просто склеивает результаты без проверки на дубликаты. На практике UNION ALL обычно быстрее, потому что не тратит ресурсы на поиск и удаление дубликатов.

Проверь себя · 1/3разбор после ответа
Таблицы orders_2024 и orders_2025 имеют одинаковую структуру. Некоторые заказы случайно попали в обе таблицы. Чем будут отличаться результаты SELECT * FROM orders_2024 UNION SELECT * FROM orders_2025 и того же запроса с UNION ALL?
Тренировать SQL в Telegram

Ещё вопросы по теме «Основы SQL-запросов»