Openstack DevOps and IBM/Informix Certified DBA . Phd in Math (Duality of spaces of... · 27 янв 2022
Хотя и UNION, и UNION ALL используются для объединения результатов двух запросов SELECT, основное различие между ними заключается в том, что UNION не включает повторяющуюся запись, а UNION ALL включает. Еще одно различие между ними заключается в том, что UNION ALL работает быстрее, чем UNION, но может показаться медленным, поскольку возвращает больше данных, которые требуют больше времени для перемещения по сети. Разница между UNION и UNION ALL может быть сложным вопросом SQL, особенно для разработчиков, которые никогда не использовали это полезное ключевое слово.
==============================
Поскольку предложение UNION не так распространено в SQL, как предложение SELECT, его обычно просят во время телефонных собеседований по программированию проверить, хорошо ли кандидат владеет SQL или нет. Это из той же категории вопросов, что и кластеризованный или некластеризованный индекс, или первичный или уникальный ключ. UNION сильно отличается от других команд SQL, поскольку работает с данными, а не со столбцами.
==============================
В любом случае, ответ на этот вопрос прост, хотя и UNION, и UNION ALL используются для объединения результатов двух отдельных SQL-запросов к одной или разным таблицам, UNION не сохраняет повторяющуюся запись (строка считается дублирующейся, если значение всех столбцов одинаково), в то время как UNION ALL делает.
Записи, содержашие "Paul West Street", "Mary Fair Street" были в обоих таблицах. Первый раз дубли подавлены, а во второй раз сохранены. Есть нет передачи по сети UNION ALL всегда быстрее, так как не выполняет удаление дублей как UNION.