Программирование в Microsoft SQL Server 2000



              

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


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

Левое внешнее связывание возвращает все строки из левой таблицы во фразе 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 (Закрыть), чтобы закрыть диалоговое окно.




    Содержание  Назад  Вперед