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


Download 3.26 Mb.
bet57/91
Sana15.11.2023
Hajmi3.26 Mb.
#1777302
TuriМетодическое пособие
1   ...   53   54   55   56   57   58   59   60   ...   91
Bog'liq
Metodichka BD

Пример 3. Для каждого корпуса подсчитать количество находящихся в нем кафедр.
SELECT NUM_KORPUSA AS “Корпус”,
СOUNT(*) AS "K-вo кафедр"
FROM KAFEDRA
GROUP BY NUM_KORPUSA ;
Пример 4. Вывести среднее значение среди минимальных и максимальных ставок для каждой группы преподавателей, занимающих одну должность, а также минимальное и максимальное значения среди средних ставок.
SELECT AVG(MIN(Salary)) AS AVG_MIN,
AVG(MAX(Salary)) AS AVG_MAX,
MIN(AVG(Salary)) AS MIN_AVG,
MAX(AVG(Salary)) AS MAX_AVG
FROM TEACHER
GROUP BY Dolgnost;
Пример 5. Вывести номера кафедр, у которых суммарное количество работающих профессоров более 1.
SELECT KOD_kafedru as "Номер кафедры" ,Count(*) as "Кол-во профессоров на кафедре"
FROM TEACHER
WHERE dolgnost='профессор'
GROUP BY KOD_kafedru
having count(dolgnost) > 1 ;
Пример 6. Вывести названия кафедр факультета математики и информатики, на которых работают один и более профессоров. Указать также количество профессоров и их суммарную зарплату.
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;
Пример 7. Если суммарная зарплата всех ассистентов превышает 2500, вывести их среднюю ставку, среднюю надбавку и суммарную зарплату.
SELECT AVG(Salary), AVG(Rise), SUM(Salary + Rise)
FROM TEACHER
WHERE LOWER(Dolgnost ) = 'ассистент'
HAVING SUM(Salary + Rise) > 2500;

Пример выполнения задания для предметной области «Запись на прием»:


Для выполнения нескольких операций с данными выберем таблицы в рассматриваемой базе данных. Поочередно рассмотрим агрегатные функции разных групп.



Рис. 10.1. Применение агрегатных функций.

Как можно увидеть в результате получаем только одно значение.


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

Рис. 10.2. Применение агрегатных функций внутри других функций.
Рассмотрим в таблице visit атрибут price. В простом запросе получим следующий результат. Применив агрегатную функцию avg(), в экране видим среднее значение цен имеющихся в указанном столбце этой функции.

Рис. 10.3. Применение агрегатной функции с where.
Такие запросы можно сортировать по конкретному условию. Допустим надо найти средную затрату каждого пациента. Можно увидеть два варианта, как можно этот запрос написать. Второй вариант запроса лучше.


Download 3.26 Mb.

Do'stlaringiz bilan baham:
1   ...   53   54   55   56   57   58   59   60   ...   91




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