Створення запитів на об'єднання записів

Створення запитів на об'єднання записів

Цей тип запиту дозволяє об'єднати в одному результуючому наборі результати декількох запитів, таблиць та інструкцій SELECT. Синтаксис цього запиту наступний:

[TABLE] запрос_1 UNION [ALL] [TABLE] запрос_2 [UNION [ALL] [TABLE] запрос_п [. ]],

запрос_1, запрос_2. запрос_п - інструкція SELECT, ім'я збереженого запиту або ім'я збереженої таблиці, перед яким стоїть зарезервоване слово TABLE.

У кожному аргументі запрос_1 допускається застосування пропозиції GROUP BY або HAVING для угруповання повертаються даних. Кінець останнього аргументу запрос_п можна включити пропозицію ORDER BY, щоб впорядкувати повернуті дані. Таким чином, угруповання записів може виконуватися в кожному з поєднуваних запитів або таблиць, а сортування виконується тільки в результуючому безлічі записів запиту на об'єднання. Як поля для сортування потрібно вказувати імена полів з першого запиту або таблиці, т. К. Саме ці імена будуть виступати в якості імен полів в результуючому безлічі запиту.

За замовчуванням записи, що повторюються в об'єднуються таблицях і запитах, не включаються до результуюче безліч запиту. Використання предиката ALL в запиті дозволяє включити всі записи. Крім того, такі запити виконуються швидше.

Всі запити, включені в операцію UNION, повинні відбирати однакове число полів; при цьому типи даних і розміри полів не зобов'язані збігатися. Якщо число полів не збігається, виводиться повідомлення про помилку.

Для створення запиту на об'єднання існує спеціальна команда меню Запит, Запит SQL, Запит на об'єднання (Query, SQL Specific, Union), яка доступна в режимі Конструктора запитів. При виконанні цієї команди відкривається порожнє вікно Режим SQL, в яке потрібно ввести інструкцію.

На рис. 8.59 показана інструкція SQL, що містить операцію UNION, для запиту "Клієнти і постачальники по містах" (Customers and Suppliers by City), який міститься в базі даних "Борей". Щоб відкрити вікно SQL, відкрийте список запитів у вікні бази даних, виділіть запит "Клієнти і постачальники по містах" і натисніть кнопку Конструктор (Design). При цьому кнопка і команда меню Вид, Конструктор (View, Design View) стають недоступними.

Результат виконання запиту на об'єднання "Клієнти і постачальники по містах" наведено па рис. 8.60.

Мал. 8.59. Запит на об'єднання

Мал. 8.60. Результуюче безліч запиту "Клієнти і постачальники по містах"