Ответ
UNION — это оператор SQL, который объединяет результаты двух или более SELECT-запросов в один набор данных.
Ключевые характеристики:
- Удаление дубликатов: По умолчанию
UNIONвозвращает только уникальные строки. - Совместимость столбцов: Все
SELECTзапросы должны иметь одинаковое количество столбцов, и соответствующие столбцы должны быть совместимых типов данных. - Порядок: Столбцы объединяются по позиции, а не по имени.
Пример:
-- Найти всех поставщиков и клиентов из города 'London'
SELECT City, 'Supplier' AS Type FROM Suppliers WHERE City = 'London'
UNION
SELECT City, 'Customer' FROM Customers WHERE City = 'London';
Варианты и ограничения:
UNION ALL: Объединяет результаты без удаления дубликатов. Работает быстрее, если дубли не критичны.ORDER BY: Может быть указан только в конце всего объединенного запроса и применяется к итоговому результату.- Ограничение: Нельзя использовать
UNIONвнутри подзапроса сIN(в некоторых СУБД), но результатUNIONможно использовать как подзапрос.