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