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

UptoLike

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

90
Результат выполнения запроса приведен на рис. 38.
Рис. 38. Подзапрос, связывающий таблицу со своей копией
10.3.2. Связанные подзапросы в HAVING
GROUP BY позволяет группировать выводимые SELECT-
запросом записи по значению некоторого поля. Использование
предложения HAVING позволяет при выводе осуществлять фильт-
рацию таких групп.
Предикат предложения HAVING оценивается не для каждой
строки результата, а для каждой группы выходных записей, сфор-
мированной предложением GROUP BY внешнего запроса.
Пример 73. Определить среднюю из полученных студентами
оценок, сгруппировав значения оценок по семестрам и исключив те
семестры, когда число студентов, сдававших в течение дня экзаме-
ны, было меньше 10:
SELECT Semestr AS Семестр, Avg(Examen) AS [Средняя
оценка на экзамене]
FROM Progress A
GROUP BY Semestr
HAVING 10 <
(SELECT COUNT(Examen)
FROM Progress B
WHERE A.Semestr = B.Semestr);
Результат выполнения запроса приведен на рис. 39.
Рис. 39. Связанные подзапросы в HAVING
     Результат выполнения запроса приведен на рис. 38.




      Рис. 38. Подзапрос, связывающий таблицу со своей копией

         10.3.2. Связанные подзапросы в HAVING
     GROUP BY позволяет группировать выводимые SELECT-
запросом записи по значению некоторого поля. Использование
предложения HAVING позволяет при выводе осуществлять фильт-
рацию таких групп.
     Предикат предложения HAVING оценивается не для каждой
строки результата, а для каждой группы выходных записей, сфор-
мированной предложением GROUP BY внешнего запроса.
     Пример 73. Определить среднюю из полученных студентами
оценок, сгруппировав значения оценок по семестрам и исключив те
семестры, когда число студентов, сдававших в течение дня экзаме-
ны, было меньше 10:
     SELECT Semestr AS Семестр, Avg(Examen) AS [Средняя
оценка на экзамене]
      FROM Progress A
      GROUP BY Semestr
      HAVING 10 <
      (SELECT COUNT(Examen)
      FROM Progress B
      WHERE A.Semestr = B.Semestr);
     Результат выполнения запроса приведен на рис. 39.




             Рис. 39. Связанные подзапросы в HAVING

                                90