UNION ALL
в PostgreSQL позволяет объединять результаты двух или более запросов в один набор данных, сохраняя все дубликаты.
Использование UNION ALL
Пример объединения пользователей и клиентов в один список, включая повторяющиеся имена:
SELECT name FROM users
UNION ALL
SELECT name FROM customers;
Этот запрос объединит все строки из обеих таблиц, включая дубликаты.
Объединение данных из нескольких источников
Пример объединения email-адресов из трех таблиц без удаления повторений:
SELECT email FROM users
UNION ALL
SELECT email FROM customers
UNION ALL
SELECT email FROM employees;
Запрос вернет полный список email-адресов, включая повторяющиеся значения.
Отличие от UNION
В отличие от UNION
, который удаляет дубликаты, UNION ALL
просто объединяет все строки без проверки на повторение. Это делает UNION ALL
более производительным, поскольку исключение дубликатов требует дополнительных вычислений.