Методическое пособие к лабораторным работам по курсу «База данных» Ташкент 2020


AND LOWER(t.Dolgnost ) = 'профессор' GROUP BY



Download 3,29 Mb.
bet34/87
Sana29.04.2022
Hajmi3,29 Mb.
#591220
TuriМетодическое пособие
1   ...   30   31   32   33   34   35   36   37   ...   87
Bog'liq
1648461350 (2)

AND LOWER(t.Dolgnost ) = 'профессор'
GROUP BY d.Name_kafedru
HAVING COUNT(*) > 0;


Фраза HAVING без GROUP BY
Фраза HAVING может использоваться лишь при наличии фразы GROUP BY. Из этого правила синтаксис SQL допускает только одно исключение: когда вся таблица интерпретируется как одна группа. В этом случае в списке фразы SELECT можно использовать только константы, агрегатные функции и выражения над ними. Приведем примеры.

  1. Если суммарная зарплата всех преподавателей превышает 15 000, вывести их минимальную ставку, максимальную надбавку и суммарную зарплату.

SELECT MIN(Salary), MAX(Rise), SUM(Salary + Rise)
FROM TEACHER
HAVING SUM(Salary + Rise) > 15000;
При наличии фразы WHERE сначала производится отбор строк согласно ее условию, и только после этого применяется условие фразы HAVING.

  1. Если суммарная зарплата всех ассистентов превышает 2500, вывести их среднюю ставку, среднюю надбавку и суммарную зарплату.

SELECT AVG(Salary), AVG(Rise), SUM(Salary + Rise)
FROM TEACHER
WHERE LOWER(Dolgnost ) = 'ассистент'
HAVING SUM(Salary + Rise) > 2500;
На практике фраза HAVING очень редко используется без фразы GROUP BY, изза чего такая возможность предоставляется не во всех СУБД.
Пример выполнения задания для предметной области «Запись на прием»:
Для выполнения нескольких операций с данными выберем таблицу.
В созданной базе данных рассмотрим таблицу Visit.

Рис. 8.1. Вывод данных таблицы “visit”.

Применив команды Group by и Having можно сгруппировать данные и отсортировать по цене выше среднего.



Рис. 8.2. Cортировка по цене выше среднего в таблице “visit”.

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


Таким образом, если условие на агрегатные значения в предложение HAVING будет истинным, то эта строка будет выводиться, в противном случае мы не получим ни одной строки. Рассмотрим такой запрос.

Рис. 8.3. Применение агрегатных функции в таблице “visit”.

Этот запрос показывает минимальную, максимальную и среднюю цену в таблице визитов. Далее этому запросу применим команду Having с двумя разными условиями. В первом случае имеем результат такой же как и выше.



Рис. 8.4. Применение агрегатных функции в таблице “visit”.

Во втором запросе результата нет, то есть он пустой. Это означает что в таблице нет данных удовлетворяющих условию.


Далее рассмотрим запрос где используются фразы Order by, Group by и Having. Запрос составлен для того чтобы найти доход врачей, у кого количество пациентов больше одного.




Download 3,29 Mb.

Do'stlaringiz bilan baham:
1   ...   30   31   32   33   34   35   36   37   ...   87




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

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish