Операция 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 в конце последнего аргумента запрос.