Бази даних-20210115T104840Z-001 / Лабораторная работа 5. Функции SQL Oracle. Дополнительные фразы предложения SELECT / Лобода_Лаб_5_Mark_I
.docx1) Вывести минимальную ставку, максимальную надбавку, количество различных должностей среди преподавателей-доцентов. Столбцы результирующей таблицы должны иметь имена: «МИН ставка», «Макс надбавка», «К-во должностей».
SELECT MIN(Salary) AS "Минимальная ставка доцента", MAX(Commission) AS "Максимальная надбавка доцента", COUNT(Post) AS "Количество должностей" FROM TEACHER WHERE Upper(POST) = 'ДОЦЕНТ'; |
2) По кафедре, заведующим которой является Иванов, вывести следующую информацию под соответствующими именами столбцов:
строковая константа 'Инфо о кафедре Иванова:' - Инфо о кафедре
количество преподавателей - Количество преподавателей
количество групп - Количество групп
select 'Инфо о кафедрах Коротун' AS "Кафедра Коротун", count (distinct t2.TchPK) AS "Кол-ва преподавателей", count (distinct g.GrpPK) AS "Кол-во групп"
from TEACHER t1,TEACHER t2, DEPARTMENT d, SGROUP g
where t1.TchPK = d.HeadFK AND d.DepPk = t2.DepFK AND d.DepPK = g.DepFK AND t1.name = 'Коротун' |
3) Вывести названия факультетов и имена их деканов, студентам которых читается дисциплина ̶С̶У̶Б̶Д̶ Дослідження операцій
SELECT distinct f.Name, t.Name
FROM Faculty f, Department d, Teacher t, Lecture l, Subject s
WHERE f.FACPK = d.FACFK AND d.DepPk = t.DEPFK AND t.TCHPK = l.GRPFK AND l.TCHFK = s.SBJPK AND s.Name = 'Дослідження операцій' |
4) По каждому преподавателю факультета компьютерных наук, имеющему зарплату (salary+commission) в диапазоне 800-3000, вывести следующую информацию под соответствующими именами столбцов:
его имя Преподаватель
его должность Должность
количество подчиненных ему преподавателей К-во подчиненных – суммарная зарплата (salary+commission) его подчиненных СУМ зарплата подчиненных - разница между макс. и миним. зарплатами его подчиненных МАКС(зарплата) МИН(зарплата)
НЕ МОЖУ ЗРОЗУМІТИ ЯК ЗРОБИТИ ПУНКТ 3
SELECT t.Name AS "Преподаватель", t.Post AS "Должность"
FROM Faculty f, Department d, Teacher t, Sgroup g
WHERE f.FACPK = d. FACFK AND d.DEPPK = t.DEPFK AND t.TCHPK = g.DEPFK /* 1 */ AND d.Name = 'Компютерні науки' /* 2 */ AND t.Salary + t.Commission BETWEEN 800 AND 3000 |