Пример 2.17.
Пример 2.16.
Групповые функции SQL
Групповые функции необходимы для определения статистических данных на основе наборов числовых значений:
• Avg — вычисляет арифметическое среднее набора чисел, содержащихся в указанном поле запроса;
• Count — вычисляет количество выделенных записей в запросе;
• Min, Max — возвращают минимальное и максимальное значения из набора в указанном поле запроса;
• StDev, StDevPs — возвращают среднеквадратическое отклонение генеральной совокупности и выборки для указанного поля в запросе;
• Sum — возвращает сумму значений в заданном поле запроса;
• Var, VarPs — возвращает дисперсию распределения генеральной совокупности и выборки для указанного поля в запросе.
Для определения полей группирования указывается ключевое слово HAVING для заданного условия по группе при вычислении групповых значений.
SELECT Фамилия, Avg(Peзyльтaт) AS Средний балд
FROM Результаты GROUP BY [№ зач.книжки]
SELECT [Код дисциплины], Avg(Результаты) AS Средний балл
|
|
FROM Результаты GROUP BY [Код дисциплины]
В первом случае создается список фамилий студентов с указанием среднего балла по каждому студенту, во втором случае — список кодов дисциплин и средний балл по дисциплине.
SELECT Фамилия, Ау§(Результат) AS Средний балл
FROM Результаты
GROUP BY [№ зач.книжки] HAVING Avg (Результат) >4.5
SELECT [Код дисциплины]. Avg(Pe3\^bTaT)AS Средний балл FROM Результаты GROUP BY (Код дисциплины] HAVING Avg(Результат)<4
Габлица 2.6. Логические условия для построения условий выборки Опера-,. Опера-;.. Опера-,. Назначение: Назначение Назначение тор тор | | тор Логическое Иили Логическая[Логическое ИЛИ. AND конъюнкция (логи- Impимпликация i Or дизьюнкцияческое умножение) [ выражений (включающее Or) Проверка логиче-п.,„,, „ „ F... _ v Логическое ИЛИ Eqv скои эквивалентно- NotОтрицание Хог, „, (исключающее Or) стивыражении |
74
Глава 2. Использование СУБД ACCESS
В первом случае создается список фамилий студентов с указанием среднего балла по каждому студенту, выводятся фамилии тех студентов, которые имеют средний балл выше 4.5. Во втором случае выводится список кодов дисциплин со средним баллом при условии, что он ниже 4.
В инструкцию SELECT может быть вложена другая инструкция SELECT, SELECT...INTO, INSERT...INTO, DELETE или UPDATE. Различают основной и подчиненный запросы, которые являются вложенными в основной запрос.
Подчиненный запрос можно использовать вместо выражения в списке полей инструкции SELECT или в предложениях WHERE и HAVING. Существуют три типа подчиненных запросов:
• сравнение (ANY|ALL|SOME) (инструкция);
• выражение [NOT] IN (инструкция);
• [NOT] EXISTS (инструкция).
Первый тип — сравнение выражения с результатом подчиненного запроса.
Ключевые слова: ANY — каждый; ALL — все; SOME — некоторые.