· 6 years ago · Sep 12, 2019, 08:10 PM
1PRAGMA foreign_keys = ON;
2DROP TABLE IF EXISTS R3;
3DROP TABLE IF EXISTS R2;
4DROP TABLE IF EXISTS R1;
5DROP TABLE IF EXISTS R4;
6
7CREATE TABLE R1(
8 фио_студента VARCHAR(20),
9 н_группы INTEGER,
10 КП INTEGER,
11 Оц1 INTEGER,
12 Оц2 INTEGER,
13 Оц3 INTEGER,
14 Оц4 INTEGER,
15 Оц5 INTEGER);
16
17CREATE TABLE R2(
18 день_недели VARCHAR(20),
19 н_пары INTEGER,
20 фио_преп VARCHAR(20),
21 н_группы INTEGER,
22 аудитория INTEGER);
23
24CREATE TABLE R3(
25 аудитория INTEGER,
26 корпус INTEGER);
27
28
29CREATE TABLE R4(
30 фио_преп VARCHAR(20),
31 должность VARCHAR(20),
32 кафедра INTEGER);
33
34
35insert into R1 values ('Герман1',4641,5,5,5,5,5,5);
36insert into R1 values ('Герман2',4641,2,3,4,5,5,5);
37insert into R1 values ('Герман5',4641,5,5,5,5,5,5);
38insert into R1 values ('Герман3',4642,3,2,2,4,4,5);
39insert into R1 values ('Герман4',4642,4,1,2,3,3,5);
40
41insert into R2 values ('пон',1,'аксенов петух1',4641,123);
42insert into R2 values ('вто',2,'аксенов петух3',4641,111);
43insert into R2 values ('пон',3,'аксенов петух2',4642,123);
44insert into R2 values ('пон',2,'аксенов петух1',4642,111);
45
46insert into R3 values (123,1);
47insert into R3 values (111,1);
48insert into R3 values (222,2);
49
50insert into R4 values ('аксенов петух1','deb',44);
51insert into R4 values ('аксенов петух2','kek',43);
52insert into R4 values ('наталья','просто лучшая',43);
53insert into R4 values ('аксенов петух3','ассистент',44);
54
55select н_группы
56from R2 natural join R3
57group by н_группы
58having count(distinct день_недели) > 1 and count(distinct корпус) = 1
59
60select н_группы
61from R2 natural join R4
62group by н_группы
63having count(distinct фио_преп) > 1 and count(distinct кафедра) = 1
64
65select distinct кафедра
66from R4
67where кафедра not in ( select кафедра
68 from R4
69 where должность = 'ассистент'
70 group by кафедра )
71
72select distinct н_группы
73from R1
74where КП = 5 and Оц1 = 5 and Оц2 = 5 and Оц3 = 5 and Оц4 = 5 and Оц5 = 5
75
76
77select *
78from R2 natural join R4
79where кафедра = 44
80group by н_группы
81having count(distinct фио_преп) > 1 and count(distinct кафедра) = 1