Почему UNION удаляет строки, которые сохраняет UNION ALL?
Оба оператора объединяют строки результатов SELECT, запросов на выборку данных. UNION ALL сохраняет каждое появление строки. UNION убирает повторы из общего результата: одинаковые строки превращаются в одну, даже если пришли из одного SELECT.
Допустим, первый запрос вернул числа 1, 2, 3, второй — 3, 4, 5. С UNION ALL получится шесть строк с двумя тройками. С UNION получится пять строк: тройка останется одна.
Сравниваются все выбранные столбцы. Если у текущего и архивного заказа одинаковый идентификатор, но разные выбранные временные метки, UNION сохранит обе строки.
Повторите пример с двумя наборами чисел и сравните количество строк. Чтобы отсортировать вывод, добавьте ORDER BY в конец запроса.
#основы #практика
Post #5186
430