UNION ALL в PostgreSQL: объединение результатов с дубликатами

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 более производительным, поскольку исключение дубликатов требует дополнительных вычислений.