Ключевое слово inner. Этот тип связи используется по умолчанию. Указание сочетания inner join равносильно указанию только ключевого слова join. В качестве кандидатов на включение в результат запроса рассматриваются пары строк, удовлетворяющие критерию связывания в обеих таблицах. Строки из левой таблицы, для которых не имеется пары в связанной таблице, в результат не включаются. Также не включаются в результат и строки правой таблицы, для которых нет соответствующей строки в левой таблице.
В приведенном далее примере выполняется выборка данных из таблиц Дисциплины и Учебный_план с помощью запроса select. Таблицы связаны по ключевому полю ID_Дисциплина, имеющемуся в каждой из них. Для каждой строки таблицы Учебный_план отыскивается строка с совпадающим значением поля ID_Дисциплина в таблице Дисциплины. Все строки таблицы Учебный_план, для которых нет строк с соответствующим значением поля ID_Дисциплина, игнорируются и не включаются в конечный результат. Аналогично не включаются в результат все строки таблицы Дисциплины, для которых нет соответствующей строки в таблице Учебный_план (что, однако, невозможно для данного примера, так как столбец ID_Дисциплина таблицы Учебный план связан внешним ключом со столбцом ID_Дисциплина таблицы Дисциплины).
SELECT Наименование, Семестр, Количество часов FROM Учебный_план INNER JOIN Дисциплины ON Учебный_план.ID_Дисциплина = Дисциплины.ID_Дисциплина WHERE Количество_часов > 60
В результате выполнения этой команды будут выданы строки, приведенные на рис. 4.10.
Рис. 4.10. Соединение таблиц Учебный_план и Дисциплины — дисциплины, входящие в учебный план
Достарыңызбен бөлісу: |