Основы языка TRANSACT SQL. Казакова И.А. - 72 стр.

UptoLike

Составители: 

71
Пример 55. Вычислить среднюю стипендию по каждой группе:
SELECT Groups.Name_group, AVG(Students.Stipend)
AS ' Средняя стиипендия
FROM Groups, Students
WHERE Students.ID_Group=Groups.ID_Group
GROUP BY Groups.Name_group;
Результат выполнения запроса приведен на рис. 22.
Рис. 22. Применение группировки в операторе SELECT
9.6. Предложение HAVING
Это дополнительная возможность «профильтровать» выход-
ной набор.
Предложение HAVING работает следующим образом:
1) GROUP BY разделяет строки на наборы (по типу);
2) на полученные группы накладываются условия предложе-
ния HAVING.
Сравнение условий в HAVING и условий в WHERE:
WHERE накладывает ограничения на строки, HAVING на
группы;
предложение WHERE отсеивает строки до группировки, а
предложение HAVING после;
в условии поиска WHERE нельзя задавать агрегатные функции;
в большинстве систем элементы предложения HAVING
должны включаться в список выбора. На предложение WHERE по-
добное ограничение не распространяется.
Пример 56. Вывести список групп, в которых общее количе-
ство экзаменов больше 3:
     Пример 55. Вычислить среднюю стипендию по каждой группе:
     SELECT Groups.Name_group, AVG(Students.Stipend)
     AS ' Средняя стиипендия’
     FROM Groups, Students
     WHERE Students.ID_Group=Groups.ID_Group
     GROUP BY Groups.Name_group;
     Результат выполнения запроса приведен на рис. 22.




        Рис. 22. Применение группировки в операторе SELECT


               9.6. Предложение HAVING
     Это дополнительная возможность «профильтровать» выход-
ной набор.
     Предложение HAVING работает следующим образом:
     1) GROUP BY разделяет строки на наборы (по типу);
     2) на полученные группы накладываются условия предложе-
ния HAVING.
     Сравнение условий в HAVING и условий в WHERE:
      WHERE накладывает ограничения на строки, HAVING – на
группы;
      предложение WHERE отсеивает строки до группировки, а
предложение HAVING – после;
      в условии поиска WHERE нельзя задавать агрегатные функции;
      в большинстве систем элементы предложения HAVING
должны включаться в список выбора. На предложение WHERE по-
добное ограничение не распространяется.
      Пример 56. Вывести список групп, в которых общее количе-
ство экзаменов больше 3:


                               71