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

Раздел FROM

С помощью раздела FROM определяются источники данных, с которым будет работать запрос.

Синтаксис раздела FROM следующий:

FROM {<Источник_данных>}[,…, n]

в основном работа с разделом FROM- это перечисление через запятую источников данных, с которыми должен работать запрос.

Синтаксис: {<Источник_данных>::=<имя_таблицы>[[AS]<псевдоним_таблицы>]|<связка_таблиц>

Конструкция <связка_таблиц> реализует один из наиболее сложных методов задания источника данных. С помощью нее можно связать данные двух и более таблиц в единый набор данных, указав критерии связывания. Синтаксис конструкции <связка_таблиц> следующий:

<связка_таблиц>::=<левая_таблица><тип_связывания><правая_таблица>ON <условие_связывания>

Конструкция <тип_связывания> описывает тип связывания двух таблиц. Исходная таблица указывается слева от конструкции <тип_связывания> (<левая-таблица>), а справа указывается зависимая таблица (<правая_таблица>)

Общий синтаксис конструкции следующий:

<тип_связывания>::=[INNER | {{LEFT| RIGHT | FULL} [OUTER]}] JOIN

Обязательным является ключевое слово JOIN.

Конструкция ON<условие связывания> задает логическое условие связывания двух таблиц. Допустимы операторы сравнения (=, <,>,<=,>=,<>). Например

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

В этом примере устанавливается связь между двумя таблицами «Учебный_план» и «Дисциплины» по столбцу ID_Дисциплина, имеющемуся в каждой из таблиц.

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

Пример.

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

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

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

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

Ключевое слово LEFT [OUTER]

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

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

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

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

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

Ключевое слово RIGHT [OUTER]

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

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

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

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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: