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= 'Компютерні науки';

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;

Соседние файлы в папке Лабораторная работа 4. Предложение SELECT в SQL Oracle. Основные возможности (ПРОДОЛЖЕНИЕ)