Операция UNION в Access создает запрос на объединение, который объединяет результаты двух или более независимых запросов или таблиц.
Синтаксис
[TABLE] запрос1 UNION [ALL] [TABLE] запрос2 [UNION [ALL] [TABLE] запросN [ ... ]]
Операция UNION состоит из следующих элементов:
| Элемент | Описание |
|---|---|
| Запрос1–N | Инструкция SELECT, имя сохраненного запроса или имя сохраненной таблицы с предшествующим ключевым словом TABLE. |
Примечания
При помощи одной операции UNION можно выполнить слияние нескольких запросов, таблиц и инструкций SELECT в любой последовательности. В приведенном ниже примере показано слияние результатов выполнения инструкции SELECT и существующей таблицы с именем New Accounts.
TABLE [New Accounts] UNION ALL
SELECT *
FROM Customers
WHERE OrderAmount > 1000;
По умолчанию повторяющиеся записи при использовании операции UNION не возвращаются, однако включение в инструкцию предиката ALL обеспечивает возврат всех записей. Это также сокращает время выполнения запроса.
Все запросы в операции UNION должны запрашивать одинаковое количество полей; однако поля не обязательно должны иметь одинаковый размер или тип данных.
Используйте псевдонимы только в первой инструкции SELECT, так как в дальнейших инструкциях они игнорируются. В предложении ORDER BY следует ссылаться на поля, используя для определения полей те же имена, что и в первой инструкции SELECT.
Примечание
- Чтобы сгруппировать возвращенные данные, можно использовать предложение GROUP BY или HAVING для любого аргумента запрос.
- Чтобы возвращать данные в определенном порядке, можно использовать предложение ORDER BY в конце последнего аргумента запрос.