Разница между UNION и UNION ALL при работе с рекурсивными запросами заключается в том, что UNION возвращает только уникальные записи, а UNION ALL — все записи, включая дубликаты. 1
Рекурсивный подзапрос состоит из двух частей: нерекурсивной, определяющей первоначальный набор данных, и рекурсивной части, выполняющейся итерационно (несколько раз). 2 Нерекурсивная и рекурсивная части разделяются UNION или UNION ALL. 2
Таким образом, выбор между этими операторами зависит от того, какие данные нужно получить в результате рекурсивного запроса: если важны только уникальные записи, то следует использовать UNION, а если нет — UNION ALL. 1