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

Применяется к
Access для Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

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

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

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

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

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

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

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

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

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

  1. Внутреннее соединение. Будут возвращаться только строки (записи), в которых значения соединенных полей из обоих таблиц совпадают, например только продукты, для которых имеются соответствующие заказы.
  2. Левое внешнее соединение. Объединение всех записей из таблицы в поле " Имя таблицы слева " и только тех записей из таблицы в поле "Имя таблицы справа", в которых связанные поля совпадают, например "все заказы", но только количество и коды товаров для тех заказов, с которыми связаны товары.
  3. Правое внешнее соединение. Объединение всех записей из таблицы в поле " Имя таблицы справа " и только тех записей из таблицы в поле "Имя таблицы слева", в которых связанные поля совпадают, например все товары, даже если на них нет заказов, в этом случае в полях "Код заказа" и "Количество" будут отображаться пустые значения.

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

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

  • Выберите "Создать>конструктор запросов".

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

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

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

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

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

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

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

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

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

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

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

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