Аналогічно створюються запити, у яких бере участь кілька зв'язаних таблиць, що утворять ланцюжок. При цьому в результат запиту можуть бути включені поля із всіх таблиць, що беруть участь у запиті, або тільки поля з таблиць, що перебувають на кінцях такого ланцюжка (мал. 1.24). У другому випадку таблиці на кінцях ланцюжка виявляються зв'язаними побічно, і щоб правильно побудувати запит, що з'єднує поля цих таблиць, необхідно включити в запит кожну таблицю, що бере участь у з'єднанні. Наприклад, можна вивести назви країн, товари з яких купуються клієнтами. У цьому випадку побічно виявляються зв'язаними таблиці "Клієнти" (Customers) і "Постачальники" (Suppliers), а проміжними таблицями виявляються таблиці "Замовлення" (Orders), "Замовленеі" (Order Details), "Товари" (Products). Microsoft Access автоматично показує зв'язку, у тому числі й проміжні, між таблицями.
Після додавання в бланк запиту полів "Назва" (CompanyName) з таблиці "Клієнти" (Customers) і "Країна" (Country) з таблиці "Постачальники" (Suppliers) виберіть команду Вид, Режим SQL (View, SQL View) для того, щоб переглянути інструкцію SQL, що відповідає даному запиту (мал. 1.25). З'єднання таблиць задаються операцією INNER JOIN. . .ON. . . При такому положенні непрямі з'єднання ґрунтуються на вираженні INNER JOIN ... ON... ON...
Рис. 1.24. З'єднання побічно зв'язаних записів
Рис. 1.25. Еквівалентна запиту інструкція SQL
Запити, що з'єднують побічно зв'язані записи, часто використовуються при аналізі даних за допомогою статистичних функцій SQL або перехресних запитів Access.
Зовнішнє з'єднання
Зовнішні з'єднання бувають лівими або правими. Запит, у якому беруть участь таблиці з лівим зовнішнім з'єднанням (LEFT JOIN або *= в SQL), виводить всі записи таблиці "один", у незалежності від того, чи є відповідні їм запису в таблиці "багато хто". І навпаки, запит, у якому беруть участь таблиці із правим зовнішнім з'єднанням (RIGHT JOIN або =* в SQL), виводить всі записи таблиці "багато хто", у незалежності від того, чи є відповідні їм запису в таблиці "один".
Розглянемо як приклад, як за допомогою лівого зовнішнього з'єднання створити запит у базі даних "Борею" (Northwind), що виявляє клієнтів, що не зробили жодного замовлення:
Рис. 1.26. Діалогове вікно Параметри об'єднання
Зауваження
Традиційно термін JOIN, що застосовується до операції з'єднання таблиць, переводилося як "об'єднання", хоча насправді операція об'єднання таблиць - це UNION, що дозволяє об'єднати всі записи з однієї таблиці й всі записи з інший, а потім видалити записи, що дублюються. Проте, при локалізації діалогових вікон Access як і раніше, як ми бачимо, використовується термін "об'єднання" стосовно операції JOIN.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.