Бази даних-20210115T104840Z-001 / ПРОВЕРКА Лаб4_Максим Терещенко
.docx
1)
+
SELECT Post || ' ' || Name || ' был принят на работу ' || Hiredate || ' и имеет зарплату ' || (Salary+Commission) as "Информация о преподавателях"
FROM TEACHER;
+
SELECT Post as "Должность",
Name as "Преподаватель",
'был принят на работу' as "Константа1",
Hiredate as "Дата",
'и имеет зарлату' as "Константа2",
(Salary+Commission) as "Зарплата"
FROM TEACHER;
+
SELECT DISTINCT(t.Name)
FROM DEPARTMENT d, SGROUP s, LECTURE l, TEACHER t, FACULTY f
WHERE f.FacPK = d.FacFK AND
d.DepPK = s.DepFK AND
s.GrpPK = l.GrpFK AND
l.TchFK = t.TchPK AND
t.Post = 'доцент' AND
f.Name = 'Нафтогазової інженерії та комп`ютерних наук';
-
?
SELECT DISTINCT(d.Name)
FROM DEPARTMENT d, SGROUP s, TEACHER t, FACULTY f, DEPARTMENT d2
WHERE d.DepPK = s.DepFK AND
s.Curator = t.TchPK AND
t.DepFK = d2.DepPK AND
d2.FacFK = f.FacPK AND
f.Name = 'Нафтогазової інженерії та комп`ютерних наук';
4) -
SELECT DISTINCT(d.Name)
FROM DEPARTMENT d, TEACHER t, LECTURE l
WHERE d.DepPK = t.DepFK AND
t.TchPK = l.TchFK AND
t.Post = 'профессор' AND
l.Lesson BETWEEN 2 AND 6;
МАКСИМ в запросе просят вывести названия факультетов. А Вы выводите название кафедры.
Будьте внимательны!!!
5) +
SELECT DISTINCT(t.Name)
FROM ROOM r, TEACHER t, LECTURE l
WHERE t.TchPK = l.TchFK AND
l.RomFK = r.RomPK AND
r.Num IN (202,311,313,315,327) AND
r.Building = 1 AND
l.Type = 'лекция' AND
t.Post = 'профессор';
6) +
SELECT s.GrpPK, (t.Salary + t.Commission), s2.GrpPK, (t2.Salary + t2.Commission)
FROM FACULTY f, FACULTY f2,
TEACHER t, TEACHER t2,
DEPARTMENT d, DEPARTMENT d2,
SGROUP s, SGROUP s2
WHERE s.DepFK = d.DepPK AND
d.FacFK = f.FacPK AND
f.DeanFK = t.TchPK AND
s2.DepFK = d2.DepPK AND
d2.FacFK = f2.FacPK AND
f2.DeanFK = t2.TchPK AND
t.Salary + t.Commission > t2.Salary + t2.Commission;
7) +
SELECT t.Name, t.Hiredate
FROM TEACHER t, DEPARTMENT d, TEACHER t2, FACULTY f, TEACHER t3
WHERE t.DepFK = d.DepPK AND
d.FacFK = f.FacPK AND
d.HeadFK = t2.TchPK AND
f.DeanFK = t3.TchPK AND
(t.Salary + t.Commission > 1000 OR
t.Hiredate > TO_DATE('01.01.2001', 'DD.MM.YYYY')) AND
t.Salary + t.Commission NOT BETWEEN 2500 AND 3000 AND
t3.Post IN ('профессор','доцент');