Ключевое слово INNER

Этот тип связи используется по умолчанию. Указание сочетания INNER JOIN равносильно указанию только ключевого слова JOIN. В качестве кандидатов на включение в результат запроса рассматриваются пары строк, удовлетворяющие критерию связывания в обеих таблицах. Затем строки из левой таблицы, для которых не имеется пары в связанной таблице, в результат не включаются. Также не включаются в результат и строки правой таблицы, для которых нет соответствующей строки в левой таблице.

В приведенном ниже примере выполняется выборка данных из таблиц «Дисциплины» и «Учебный_ план» с помощью запроса SELECT. Таблицы связаны по ключевому полю ID_ Дисциплина, имеющемуся в каждой из них. Для каждой строки таблицы «Учебный_ план» ищется строка с совпадающим значением поля ID_ Дисциплина в таблице «Дисциплины». Все строки таблицы «Учебный_ план», для которых нет строк с соответствующим значением поля ID_ Дисциплина, игнорируются и не включаются в конечный результат. Аналогично не включаются в результат все строки таблицы «Дисциплины», для которых нет соответствующей строки в таблице «Учебный план» (что, однако, невозможно для данного примера, так как столбец ID_ Дисциплина таблицы «Учебный_ план» связан внешним ключом со столбцом ID_ Дисциплина таблицы «Дисциплины»).

 

SELECT Наименование, Семестр, Количество_ часов

FROM Учебный_ план INNER JOIN Дисциплины ON

Учебный_ план. ID_ Дисциплина Дисциплины. ID_ Дисциплина

WHERE Количество_ часов > 60

 

В результате выполнения этой команды будет возвращен набор

строк, изображенный на рис. 7.10.

 

 

 

Ключевое слово LEEP [ОUTER]

При использовании ключевого слова LEFTв результат будут включены все строки левой таблицы, независимо от того, есть для них соответствующая строка в правой таблице или нет. В случае отсутствия строки в правой таблице для столбцов правой таблицы, включенных в результат выборки, устанавливается значение NULL.В приведенном ниже примере иллюстрируется использование ключевого слова LEFT[OUTER]для выборки данных.

SELECT Наименование, Семестр, Отчетность

FROM Дисциплины LEFT OUTER JOIN Учебный_ план ON

Учебный_ план.ID_ Дисциплина = Дисциплины. ID_ Дисциплина

WHERE {Наименование LIKE % информатик %)

 

Будет возвращен набор строк, изображенный на рис. 7.11. Как видно, по сравнению с использованием ключевого слова INNER,в результат запроса добавлена строка из таблицы «Дисциплины», которая удовлетворяет сформулированному условию отбора, но для которой не существует соответствующей строки в таблице «Учебный_ план». В столбцах Семестр и Отчетность (относящихся к таблице «Учебный_ план») для этих строк установлено значение NULL.

 

 

Ключевое слово RIGHT [ОUTER]

При использовании этого ключевого слова в результат будут включены все строки правой таблицы, независимо от того, есть ли для них соответствующая строка в левой таблице. Для соответствующих столбцов левой таблицы, включенных в запрос, устанавливается значение NULL. Приведем пример такого запроса:

 

SELECT Отчетность, Семестр, Наименование

FROM Учебный_ план RIC»HT OUTER JOIN Дисциплины ОN

Учебный_ план. ID_ Дисциплина Дисциплины. ID_ Дисциплина

WHERE (Наименование LIKE '% информатик %')

 

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

 

Ключевое слово FULL (OUTER]

При использовании ключевого слова FULL в результат будут включены все строки как правой, так и левой таблицы. Применение ключевого слова FULL [OUTER] можно рассматривать как одновременное применение ключевых слов LEFT [OUTER] и RIGHT[OUTER].

 








Дата добавления: 2015-04-15; просмотров: 1139;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.007 сек.