Управление данными с помощью запросов

Создание запросов с внешними связями

Браузер не поддерживает видео. Установите Microsoft Silverlight, Adobe Flash Player или Internet Explorer 9.

Проверьте, как это работает!

Иногда с помощью запроса требуется просмотреть все записи из одной таблицы вместе с соответствующими записями из другой. Для этого следует создать внешние соединения.

Внутренние соединения отображают данные только при наличии соответствующего идентификатора в обоих подключенных источниках данных. Например, если вы хотите отобразить продукты и количество проданных товаров, создайте внутреннее соединение между таблицами Products и Order Details. При выполнении запроса возвращаются только продукты, которые находятся в заказах и, таким образом, отображаются в обеих таблицах.

Однако при использовании внешних запросов будут возвращаться все данные из одного источника и лишь некоторые из другой таблицы или другого источника данных.

Например, если вам нужно узнать, какие продукты не покупали, вы можете создать запрос, отображающий коды продуктов из таблицы "Продукты" и все соответствующие номера заказов из таблицы "Сведения о заказах". Если для продукта будут отсутствовать совпадающие записи в таблице "Сведения о заказах", будет возвращаться названия товара без номеров заказов.

Левые и правые внешние связи

При использовании внешних связей таблица, из которой отображаются все записи, называется базовой. Таблица, из которой отображаются лишь некоторые (совпадающие) записи, называется вторичной.

В диалоговом окне Параметры объединения описано, что отображается с разными типами соединений.

Снимок экрана: три таблицы и диалоговое окно "Параметры объединения"

Предположим, вы создали запрос для отображения продуктов, которые покупали клиенты. В качестве выходных будут использоваться поля "Название продукта", "Номер заказа" и "Количество".

  1. Внутреннее соединение. Будут возвращаться только строки (записи), в которых значения соединенных полей из обоих таблиц совпадают, например только продукты, для которых имеются соответствующие заказы.

  2. Левое внешнее соединение. Включите все записи из таблицы в поле Имя таблицы слева и только те записи из таблицы в разделе Имя таблицы справа, в которых объединенные поля равны, например все заказы, но только количество и идентификаторы продуктов для тех заказов, с которыми связаны продукты.

  3. Правое внешнее соединение. Включите все записи из таблицы в поле Имя таблицы справа и только те записи из таблицы в разделе Имя таблицы слева, в которых объединенные поля равны, например все продукты, даже если для них нет заказов. В этом случае пустые значения отображаются в полях Идентификатор заказа и Количество.

Как видите, довольно важно правильно задать левую и правую таблицы, и их расположение в окне "Параметры объединения" может отличаться от такового в окне запроса. Чтобы понять, какие данные будут выводиться при помощи запроса, внимательно прочитайте текст в диалоговом окне "Параметры объединения".

1. Добавьте источники данных

  • На вкладке Создание нажмите кнопку Конструктор запросов.

Добавьте все необходимые таблицы и запросы в качестве источников данных. (Не волнуйтесь. Если вы забудете один из них, у вас по-прежнему есть возможность добавить дополнительные источники данных позже.)

Если Access обнаружит связи между источниками данных, они отобразятся.

2. Добавьте соединение

  • Если между источниками данных не появились связи, следует создать соединение. Перетащите поле из одного источника данных на необходимое поле из другого. Таблица, из которой вы перетащили поле, в диалоговом окне "Параметры объединения" отобразится слева. По умолчанию Access создаст внутреннее соединение. Если вам требуется внешнее соединение, измените его тип.

    Снимок экрана: соединение между двумя таблицами

3. Изменение соединения

  1. Дважды щелкните необходимую линию, изображающую соединение.

  2. В диалоговом окне Параметры объединения выберите второй или третий пункт, чтобы создать внешнее соединение. После этого нажмите кнопку ОК.

    Внимательно отнеситесь к выбору базовой таблицы, из которой будут отображаться все записи.

    Снимок экрана: диалоговое окно "Параметры объединения", выделено имя левой таблицы

4. Выполните запрос

Создайте запрос, как обычно: добавьте выходные поля и необходимые условия, а затем выполните или сохраните запрос. Инструкции см. в статье Создание простых запросов.

Вам нужны дополнительные возможности?

Создание простых запросов

Обучение работе с Excel

Обучение работе с Outlook

Нужна дополнительная помощь?

Нужны дополнительные параметры?

Изучите преимущества подписки, просмотрите учебные курсы, узнайте, как защитить свое устройство и т. д.

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