- •1 Управление данными - select Управление данными
- •Извлечение данных — команда select
- •Раздел select
- •Ключевые слова all| distinct
- •Ключевое слово top n [persent]
- •Раздел from
- •Ключевое слово inner
- •Ключевое слово left [outer]
- •Ключевое слово right [outer]
- •Ключевое слово full [outer]
- •Раздел where
- •Оператор between
- •Оператор in
- •Оператор like
- •Раздел order by
- •Должность
Должность
------------------- -------------
Ассистент 3
Доцент 4
Зав.каф. 2
Проф. 3
Ст.преп. 2
(5 row(s) affected)
MAX()
Функция возвращает максимальное значение в указанном диапазоне. Эта функция может использоваться как в обычных запросах, так и в запросах с группировкой. Синтаксис:
MAX([ALL|DISTINCT] <выражение>)
Пример:
SELECT MAX(Количество_часов), MAX(Количество_часов/2)
FROM Учебный_план
Результат выполнения запроса:
------------------- -------------
70
(1 row(s) affected)
MIN()
Возвращает минимальное значение в указанном диапазоне. Синтаксис:
MIN ([ALL|DISTINCT]<выражение>)
Пример:
SELECT MIN(Количество_часов)
FROM Учебный_план
-----------
12
(1 row(s) affected)
SUM()
Функция выполняет обычное суммирование значений в указанном диапазоне. В качестве такого диапазона может рассматриваться группа или весь набор строк (без использования GROUP BY)
Синтаксис:
SUM([ALL| DISTINCT] <выражение>)
Пример:
SELECT SUM(Количество_часов), COUNT (*),SUM(Количество_часов)/ COUNT (*),AVG(Количество_часов)
FROM Учебный_план
Результат:
------------- -------------- ------------ ----------
694 89 41 41
(1 row(s) affected)
Пример группировки значений таблицы Учебный_план. Произведем группировку строк по семестрам (столбец Семестр) и подсчитаем общую нагрузку в часах на каждый семестр:
SELECT Семестр, SUM(Количество часов) AS ‘Нагрузка’
FROM Учебный_план
GROUP BY Семестр
В первом столбце выведен номер семестра. Это единственный столбец исходной таблицы, который можно включать в запрос непосредственно, так как по нему осуществляется группировка. Во втором столбце с помощью функции SUM была получена сумма значений столбца Количество_часов. Функции агрегирования работают со всеми строками группы, возвращая единственное значение для всех этих строк.
Семестр |
Нагрузка |
|
|
706 |
|
|
486 |
|
|
562 |
|
|
474 |
|
|
484 |
|
|
334 |
|
|
312 |
|
|
266 |
|
|
64 |
Рассмотрим запрос, подсчитывающий количество экзаменов в каждом семестре:
SELECT Семестр, COUNT(*) AS ‘Экзамены’
FROM Учебный_план
WHERE Отчетность= ‘э’
GROUP BY Семестр
Результат выполнения запроса:
Семестр |
Экзамены |
|
|
3 |
|
|
4 |
|
|
5 |
|
|
4 |
|
|
5 |
|
|
3 |
|
|
3 |
|
|
2 |
|
|
1 |
