Методическое пособие к лабораторным работам по курсу «База данных» Ташкент 2022
Download 3.26 Mb.
|
Metodichka BD
- Bu sahifa navigatsiya:
- для предметной области «Запись на прием»
Пример 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: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling