Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
38
Добавлен:
27.03.2016
Размер:
370.69 Кб
Скачать

Лекция 18

Многотабличные запросы. Группировка данных. Запросы на создание и

обновление данных

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

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

ON <условие_связывания>

<тип_связывания> ::=

[INNER | {{LEFT | RIGHT | FULL } [OUTER] } ] JOIN

<условие_связывания>

=, <, >, <=, >=, !-, <>

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

Выборка данных из таблиц «Дисциплины» и «Учебный_план» (таблицы связаны по ключевому полю ID_Дисциплина)

SELECT Наименование, Семестр, Количество_часов FROM Учебный_план INNER JOIN Дисциплины

ON Учебный_план.ID_Дисциплина = Дисциплины.ID_Дисциплина WHERE Количество_часов > 60

Использование ключевого слова LEFT [OUTER]

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

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

ON Учебный_план.ID_Дисциплина = Дисциплины.ID_Дисциплина WHERE (Наименование LIKE '%информатик%')

Использование ключевого слова RIGHT [OUTER]

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

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

ON Учебный_план.ID_Дисциплина = Дисциплины.ID_Дисциплина WHERE (Наименование LIKE '%информатик%')

Использование раздела WHERE для связывания таблиц

SELECT Наименование, Семестр, Количество_часов FROM Учебный_план INNER JOIN Дисциплины

ON Учебный_план.ID_Дисциплина = Дисциплины.ID_Дисциплина WHERE (Количество_часов > 60) AND (Семестр = 1)

SELECT Наименование, Семестр, Количество_часов FROM Учебный_план, Дисциплины

WHERE (Учебный_план.ID_Дисциплина = Дисциплины.ID_Дисциплина) AND (Количество_часов > 60) AND (Семестр = 1)

LEFT OUTER JOIN

*=

RIGHT OUTER JOIN

=*

Раздел GROUP BY

GROUP BY [ALL] <условие_группировки> [,...,n]

AVG() - вычисляет среднее значение для указанного столбцаCOUNT() - подсчитывает количество строк в группе (при

выполнении группировки) или количество строк результата запросаМАХ() - возвращает максимальное значение в указанном диапазоне

MIN() - возвращает минимальное значение в указанном диапазоне

SUM() - выполняет обычное суммирование значений в казанном диапазоне

AVG

ф

у

н

к

ц

и

я

COUNT

ф

у

н

к

ц

и

я

МАХ MIN

ф

у

н

к

ц

и

я

SUM

ф

у

н

к

ц

и

я

Соседние файлы в папке 3 курс Лекции БД