Иллюстрированный самоучитель по Microsoft Access 2002

Внутреннее соединение

Аналогично создаются запросы, в которых участвует несколько связанных таблиц, образующих цепочку. При этом в результат запроса могут быть включены поля из всех таблиц, участвующих в запросе, или только поля из таблиц, находящихся на концах такой цепочки (рис. 4.24). Во втором случае таблицы на концах цепочки оказываются связанными косвенно, и чтобы правильно построить запрос, соединяющий поля этих таблиц, необходимо включить в запрос каждую таблицу, участвующую в соединении. Например, можно вывести названия стран, товары из которых покупаются клиентами. В данном случае косвенно оказываются связанными таблицы "Клиенты" (Customers) и "Поставщики" (Suppliers), а промежуточными таблицами оказываются таблицы "Заказы" (Orders), "Заказано" (Order Details), "Товары" (Products). Microsoft Access автоматически показывает связи, в том числе и промежуточные, между таблицами.

После добавления в бланк запроса полей "Название" (CompanyName) из таблицы "Клиенты" (Customers) и "Страна" (Country) из таблицы "Поставщики" (Suppliers) выберите команду Вид › Режим SQL (View › SQL View) для того, чтобы просмотреть инструкцию SQL, соответствующую данному запросу (рис. 4.25). Соединения таблиц задаются операцией INNER JOIN…ON… При таком положении косвенные соединения основываются на выражении INNER JOIN… ON… ON…

(Подробнее об инструкциях языка SQL см. разд. "Создание запросов SQL" гл. 8.)

Иллюстрированный самоучитель по Microsoft Access 2002 › Отбор и сортировка записей с помощью запросов › Внутреннее соединение
Рис. 4.24. Соединение косвенно связанных записей

Иллюстрированный самоучитель по Microsoft Access 2002 › Отбор и сортировка записей с помощью запросов › Внутреннее соединение
Рис. 4.25. Эквивалентная запросу инструкция SQL

Запросы, соединяющие косвенно связанные записи, часто используются при анализе данных с помощью статистических функций SQL или перекрестных запросов Access.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.