Физика
Математика
Архитектура
Сети
Лекции
Интегралы
Начертательная
Курсовая

АЭС

Алгебра
Задачи
ТОЭ
Энергетика
Матанализ
Черчение
Графика

Основные понятия и способы применения SQL - в примерах и задачах

SQL язык запросов к реляционным базам данных Учебник

Связанные подзапросы в HAVING

В разделе 2.4 указывалось, что предложение GROUP BY позво­ляет группировать выводимые SELECT-запросом записи по зна­чению некоторого поля. Использование предложения HAVING

позволяет при выводе осуществлять фильтрацию таких групп. Предикат предложения HAVING оценивается не для каждой строки результата, а для каждой группы выходных записей, сформированной предложением GROUP BY внешнего запроса.

Пусть, например, необходимо по данным из таблицы EXAM_MARKS определить сумму полученных студентами оценок (значений поля MARK), сгруппировав значения оценок по датам экзаменов и исключив те дни, когда число студентов, сдавав­ших в течение дня экзамены, было меньше 10.

SELECT EXAM_DATE, SUM (MARK)

FROM EXAM_MARKS A GROUP BY EXAM_DATE HAVING  10 <

(SELECT COUNT (MARK) FROM EXAM_MARKS В WHERE A.EXAM_DATE = В.EXAM_DATE) ;

Подзапрос вычисляет количество строк с одной и той же датой, совпадающей с датой, для которой сформирована оче­редная группа основного запроса.

Проектирование

На главную