Рис. 1.19. Діалогове вікно Область уведення
Ви можете створити скільки стовпців, що завгодно обчислюються, у запиті, використовуючи при цьому як завгодно складні вираження. З іншими прикладами створення таких стовпців ви познайомитеся в наступних главах книги.
Види з'єднань
Залежно від розв'язуваних завдань з'єднання між таблицями в запитах може бути декількох видів.
Найпоширенішим є внутрішнє з'єднання (эквисоедшение). Якщо таблиці зв'язані відношенням " один-до-багатьох", з'єднання ґрунтуються на унікальному значенні поля первинного ключа в одній таблиці й значеннях поля зовнішнього ключа в іншій таблиці. У результуючу безліч запиту попадають всі записи з головної таблиці (таблиці на стороні "один"), для яких є відповідні записи в підлеглій таблиці (таблиці на стороні "багато хто"). Якщо в підлеглій таблиці запису із заданою величиною відсутні, то відповідні записи в головній таблиці в результуючу безліч не включаються. Подібного роду з'єднання між таблицями Access створює автоматично, якщо:
Зауваження
"Погоджені типи" у більшості випадків означають однакові типи. Виключенням є поле типу Лічильник, що може мати розмір Довге ціле або Код реплікації й може зв'язуватися із числовими полями відповідного розміру.
Результатом такого запиту є всі записи, значення зв'язаних полів яких в обох таблицях збігаються. Інакше кажучи, эквисоединение зв'язує запису в таблицях відношенням рівності значень єднальних полів.
Для створення запиту, що поєднує всі записи з однієї таблиці, і тільки ті записи із другий, у яких зв'язані поля збігаються, використовують зовнішнє з'єднання. У цьому випадку незалежно від того, чи є відповідні записи в другій таблиці, всі записи першої попадають у результуючу безліч запиту.
Якщо необхідно зв'язати дані будь-яким відношенням, крім відношення рівності, використовують з'єднання по відношенню або тэта-з'єднання). З'єднання по відношенню не відображається у вікні Схема даних (Relationships) і не виводиться у вікні Конструктора запитів.
Для позначення внутрішніх з'єднань в Access використовуються зарезервовані слова ANSI SQL INNER JOIN, а для вказівки зовнішніх з'єднань - слова LEFT JOIN або RIGHT JOIN. Вираження WHERE <поле1>=<поле2> відповідає внутрішньому з'єднанню, a WHERE поле1>поле2 - з'єднанню по відношенню (одному з таких з'єднань).
Для зв'язування даних в одній таблиці застосовують рекурсивне з'єднання. Воно створюється шляхом додавання в запит копії таблиці (у результаті чого Access призначає псевдонім для копії) і зв'язування полів ідентичних таблиць.
Внутрішнє з'єднання
Внутрішнє з'єднання двох таблиць по одному полю в реляционной базі даних будується на основі відносини " один-до-багатьох". Прикладом може служити демонстраційна база даних "Борею" (Northwind), у якій всі з'єднання є внутрішніми з'єднаннями по одному полю на основі зазначеного відношення. У ході розробки баз даних, у яких передбачається використання запитів на основі внутрішніх з'єднань, дотримуйтеся наступних правил.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.