Практическая лабораторная работа №1


Использование столбцов группировки во фразе HAVING


Download 3.23 Mb.
Pdf ko'rish
bet147/207
Sana16.11.2023
Hajmi3.23 Mb.
#1778259
TuriУчебно-методическое пособие
1   ...   143   144   145   146   147   148   149   150   ...   207
Bog'liq
курс лаб по SQL 2008

Использование столбцов группировки во фразе HAVING 
Рассмотрим использование во фразе HAVING условий отбора, заданных для 
группируемых столбцов (или выражений над ними). Для этого усложним предыдущий 
запрос. 
Запрос 23. Вывести названия кафедр факультета математики и информатики, на 
которых работают один и более профессоров. Указать также количество профессоров и 
их суммарную зарплату. 
SELECT d.Name_kafedru, Count(*), SUM(t.salary + t.Rise) 
FROM FACULTET f, KAFEDRA d, TEACHER t 
WHERE f.KOD_FACULTETA = d.KOD_FACULTETA AND
d.KOD_kafedru = t.KOD_kafedru AND 
LOWER(f.Name_faculteta) = 'математики и информатики' AND 
LOWER(t.Dolgnost ) = 'профессор'
GROUP BY d.Name_kafedru
HAVING COUNT(*) > 0; 
 
Фраза HAVING без фразы GROUP BY 
Выше мы указали, что фраза HAVING может использоваться лишь при наличии 
фразы GROUP BY. Из этого правила синтаксис SQL допускает только одно исключение: 
когда вся таблица интерпретируется как одна группа. В этом случае в списке фразы 
SELECT можно использовать только константы, агрегатные функции и выражения над 
ними. Приведем примеры. 
Запрос 24. Если суммарная зарплата всех преподавателей превышает 15 000, 
вывести их минимальную ставку, максимальную надбавку и суммарную зарплату. 
SELECT MIN(Salary), MAX(Rise), SUM(Salary + Rise) 
FROM TEACHER 
HAVING SUM(Salary + Rise) > 15000; 
При наличии фразы WHERE сначала производится отбор строк согласно ее 
условию, и только после этого применяется условие фразы HAVING. 
Запрос 25. Если суммарная зарплата всех ассистентов превышает 2500, вывести их 
среднюю ставку, среднюю надбавку и суммарную зарплату. 
SELECT AVG(Salary), AVG(Rise), SUM(Salary + Rise) 
FROM TEACHER 
WHERE LOWER(Dolgnost ) = 'ассистент'

Download 3.23 Mb.

Do'stlaringiz bilan baham:
1   ...   143   144   145   146   147   148   149   150   ...   207




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling