Опубликован: 02.02.2007 | Доступ: свободный | Студентов: 2374 / 243 | Оценка: 4.10 / 3.86 | Длительность: 26:44:00
Урок 14:

Связывание таблиц

Внешнее связывание

Иногда вам надо, чтобы запрос возвращал все строки из одной или более таблиц, независимо от того, имеют ли они соответствующие строки в другой таблице. Это осуществляется с помощью внешнего связывания, которое может быть левым, правым и полным.

Левое внешнее связывание возвращает все строки из левой таблицы во фразе JOIN и только те строки из правой таблицы, для которых условие связывания истинно (имеет значение TRUE ). Синтаксис для левого связывания следующий:

FROM ЛеваяТаблица LEFT OUTER JOIN 
ПраваяТаблица ON <условие_связывания>

Например, оператор SELECT, представленный ниже, возвращает все строки в таблице Oils, отвечающие значениям PlantPart из таблицы PlantParts, для которых задан PlantPartID. Если отвечающих значениям строк в таблице PlantParts нет, запрос возвратит NULL в качестве значения PlantPart для строки.

SELECT	Oils.OilName, PlantParts.PlantPart FROM	Oils LEFT OUTER JOIN
	PlantParts ON Oils.PlantPartID = PlantParts.PlantPartID

Правое внешнее связывание является противоположностью левого внешнего связывания: оно возвращает все строки из правой таблицы в фразе JOIN и отвечающие условию значения из левой таблицы, в то время как полное внешнее связывание возвращает все строки из обеих таблиц, отвечающие условию.

Создайте левое внешнее связывание с использованием панели диаграмм Diagram Pane

  1. Откройте конструктор запросов Query Designer для таблицы Oils, щелкнув правой кнопкой мыши на ее имени в рабочей панели Details Pane, укажите на Open Table (Открытие таблицы) и выберите Return All Rows (Показать все строки).
  2. Отобразите панель диаграмм Diagram Pane.
  3. Нажмите кнопку Add Table (Добавить таблицу)в панели инструментов конструктора запросов. Конструктор запросов Query Designer отобразит диалоговое окно Add Table (Добавление таблицы).

  4. Выберите Cautions и OilCautions в списке таблиц, а затем нажмите кнопку Add (Добавить). Конструктор запросов Query Designer добавит таблицы в запрос.

Совет. Вы можете создавать левое внешнее связывание для двух таблиц. Здесь мы используем три таблицы, из которых таблица OilCautions действует как узловая, реализующая отношение много-ко-многим между таблицами Oils и Cautions.

  1. Нажмите кнопку Close (Закрыть), чтобы закрыть диалоговое окно.

Совет. Вы можете перемещать таблицы в панели диаграмм Diagram Pane, чтобы добиться наилучшего отображения информации.

Инна Грушецкая
Инна Грушецкая
Сергей Чесноков
Сергей Чесноков