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

1.1 +

Select 'Кафедра ' || name || ' с первичным ключом ' || DepPK ||

' имеет удвоенный фонд финансирования ' || Fund*2 AS "Информация о кафедрах"

From DEPARTMENT;

1.2 +

Select 'Кафедра' AS "Константа1",

name AS "Кафедра",

'с первичным ключом' AS "Константа2",

DepPK AS "ПК",

'имеет удвоенный фонд финансирования' AS "Константа3",

Fund*2 AS "Финансирование"

From DEPARTMENT;

2) + Вывести номера групп 3-го курса, которым проводят лабораторные работы преподаватели факультета компьютерных наук

SELECT

g.Num

FROM

FACULTY f, DEPARTMENT d, TEACHER t, LECTURE l, SGROUP g

WHERE f.DeanFK = d.DepPK AND t.DepFK = d.DepPK AND l.TchFK = t.TchPK AND l.GrpFK = g.GrpPK AND Course = 3 AND f.Name = 'Нафтогазової інженерії та комп`ютерних наук';

3) - Вывести названия факультетов, студентам которых преподают преподаватели кафедры ИПО

SELECT f.Name

FROM DEPARTMENT d1, TEACHER t, LECTURE l, SGROUP g, DEPARTMENT d2, FACULTY f

WHERE d1.DepPK=g.DepFK AND

g.GrpPK=l.GrpFK AND

l.TchFK=t.TchPK AND

t.DepFK= d2.DepPK AND

d2.FacFK=f.FacPK AND

d1.Name= 'Компютерні науки';

ЗДЕСЬ НЕПРАВИЛЬНО СОЕДИНЕНЫ ТАБЛИЦЫ d1 и d2. Нужно переделать!!! На схеме показан порядок соединения:

d1.DepPK=t. DepFK AND (1)

t.TchPK= l.TchFK AND (2)

l.GrpFK= g.GrpPK AND (3)

g.DepFK= d2.DepPK AND (4)

d2.FacFK=f.FacPK (5)

Сравните со своим.

4) + Вывести названия кафедр, в группах которых проводят занятия типа 'лекция' преподаватели, принятые на работу в диапазоне 01.01.2001 01.01.2002 // Вывел своё, т.к таких дат у меня нет.

SELECT d.name

FROM TEACHER t, LECTURE l, SGROUP g, DEPARTMENT d

WHERE l.TchFK = t.TchPK AND l.GrpFK = g.GrpPK AND g.DepFK = d.DepPK AND l.type = 'лекция' AND t.hiredate BETWEEN to_date('01-JUL-01','DD-MM-YY') AND to_date('03-FEB-04','DD-MM-YY')

5) - Вывести названия кафедр факультета, деканом которого является Иванов, непосредственные подчиненные заведующих которых (кафедр) имеют одну из следующих ставок: 1000, 1500, 2000, 2500, 3000.

6) +Вывести пары номеров групп вместе с их курсами, удовлетворяющих следующему условию: факультет первой группы имеет фонд финансирования больше, чем на 2000, фонда факультет второй группы.

SELECT DISTINCT f1.Name, f1.Fund, f2.Name, f2.Fund, g1.Num, g2.Course, d1.Fund, d2.Fund

FROM FACULTY f1, FACULTY f2, SGROUP g1, SGROUP g2, DEPARTMENT d1, DEPARTMENT d2

WHERE f1.Fund >= f2.Fund + 2000;

Соседние файлы в папке Бази даних-20210115T104840Z-001