Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Бази даних-20210115T104840Z-001 / ПРОВЕРКАЛобода_Лаб_5_Mark_I

.docx
Скачиваний:
2
Добавлен:
15.01.2021
Размер:
258.31 Кб
Скачать

1) +

Вывести минимальную ставку, максимальную надбавку, количество различных должностей среди преподавателей-доцентов. Столбцы результирующей таблицы должны иметь имена: «МИН ставка», «Макс надбавка», «К-во должностей».

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 = 'Дослідження операцій'

Олег, мы всегда связываем пары колючей напрмер, TchPK и TchFK, SbjFK и SbjPK тех таблиц, что попали в путь запроса.

4) По каждому преподавателю факультета компьютерных наук, имеющему зарплату (salary+commission) в диапазоне 800-3000, вывести следующую информацию под соответствующими именами столбцов:

  1. его имя Преподаватель

  2. его должность Должность

  3. количество подчиненных ему преподавателей К-во подчиненных – суммарная зарплата (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

Не правильно показан путь запроса!!!

Нужно так:

Исходя из этого пути запроса, правильно запрос запишем так: