Skip to content

Commit dd64131

Browse files
committed
finalize dm hw3
1 parent 2ec985d commit dd64131

File tree

93 files changed

+597
-41
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

93 files changed

+597
-41
lines changed

databases/sem2/lab2/.~lock.1.odt#

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
,nf,laptop,07.05.2025 18:05,file:///home/nf/.var/app/org.libreoffice.LibreOffice/config/libreoffice/4;

databases/sem2/lab2/1.odt

3 Bytes
Binary file not shown.

databases/sem2/lab2/1_v2.odt

345 KB
Binary file not shown.

databases/sem2/lab2/1_v2.pdf

381 KB
Binary file not shown.

databases/sem2/lab2/lab2_v2.sql

Lines changed: 86 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,97 @@
1-
-- 2 NO COLUMN SELECTS
1+
-- 2
22
SELECT Н_ЛЮДИ.ИД, Н_ВЕДОМОСТИ.ЧЛВК_ИД, Н_СЕССИЯ.УЧГОД
3-
FROM
4-
(SELECT ИД FROM Н_ЛЮДИ WHERE ИД = 100012) Н_ЛЮДИ LEFT JOIN Н_ВЕДОМОСТИ
5-
ON Н_ЛЮДИ.ИД = Н_ВЕДОМОСТИ.ЧЛВК_ИД
6-
LEFT JOIN Н_СЕССИЯ
7-
ON Н_ВЕДОМОСТИ.ЧЛВК_ИД = Н_СЕССИЯ.ЧЛВК_ИД
3+
FROM Н_ЛЮДИ LEFT JOIN Н_ВЕДОМОСТИ
4+
ON Н_ЛЮДИ.ИД = Н_ВЕДОМОСТИ.ЧЛВК_ИД
5+
LEFT JOIN Н_СЕССИЯ
6+
ON Н_ВЕДОМОСТИ.ЧЛВК_ИД = Н_СЕССИЯ.ЧЛВК_ИД
87
WHERE
8+
Н_ЛЮДИ.ИД = 100012 AND
99
Н_СЕССИЯ.ДАТА < '2004-01-17';
1010

11-
-- 3 NO COLUMN SELECTS
11+
-- 3
1212
SELECT COUNT(*)
13-
FROM
14-
(SELECT Н_ЛЮДИ.ИД FROM Н_ЛЮДИ WHERE Н_ЛЮДИ.ОТЧЕСТВО = '.') Н_ЛЮДИ
15-
LEFT JOIN Н_ВЕДОМОСТИ
16-
ON Н_ЛЮДИ.ИД = Н_ВЕДОМОСТИ.ЧЛВК_ИД
17-
RIGHT JOIN Н_СОДЕРЖАНИЯ_ЭЛЕМЕНТОВ_СТРОК
18-
ON Н_СОДЕРЖАНИЯ_ЭЛЕМЕНТОВ_СТРОК.ИД = Н_ВЕДОМОСТИ.СЭС_ИД
19-
LEFT JOIN Н_ЭЛЕМЕНТЫ_СТРОК
20-
ON Н_ЭЛЕМЕНТЫ_СТРОК.ИД = Н_СОДЕРЖАНИЯ_ЭЛЕМЕНТОВ_СТРОК.ЭСТ_ИД
21-
INNER JOIN (SELECT Н_ОТДЕЛЫ.ИД FROM Н_ОТДЕЛЫ WHERE Н_ОТДЕЛЫ.КОРОТКОЕ_ИМЯ = 'КТиУ') Н_ОТДЕЛЫ
22-
ON Н_ЭЛЕМЕНТЫ_СТРОК.ОТД_ИД = Н_ОТДЕЛЫ.ИД;
13+
FROM Н_ЛЮДИ LEFT JOIN Н_ВЕДОМОСТИ
14+
ON Н_ЛЮДИ.ИД = Н_ВЕДОМОСТИ.ЧЛВК_ИД
15+
RIGHT JOIN Н_СОДЕРЖАНИЯ_ЭЛЕМЕНТОВ_СТРОК
16+
ON Н_СОДЕРЖАНИЯ_ЭЛЕМЕНТОВ_СТРОК.ИД = Н_ВЕДОМОСТИ.СЭС_ИД
17+
LEFT JOIN Н_ЭЛЕМЕНТЫ_СТРОК
18+
ON Н_ЭЛЕМЕНТЫ_СТРОК.ИД = Н_СОДЕРЖАНИЯ_ЭЛЕМЕНТОВ_СТРОК.ЭСТ_ИД
19+
INNER JOIN Н_ОТДЕЛЫ
20+
ON Н_ЭЛЕМЕНТЫ_СТРОК.ОТД_ИД = Н_ОТДЕЛЫ.ИД
21+
WHERE Н_ЛЮДИ.ОТЧЕСТВО = '.' AND
22+
Н_ОТДЕЛЫ.КОРОТКОЕ_ИМЯ = 'КТиУ';
2323

24-
-- 4 NO COLUMN SELECTS
24+
-- 4
2525
SELECT Н_ПЛАНЫ.ПЛАН_ИД
2626
FROM Н_ГРУППЫ_ПЛАНОВ INNER JOIN Н_ПЛАНЫ
2727
ON Н_ГРУППЫ_ПЛАНОВ.ПЛАН_ИД = Н_ПЛАНЫ.ИД
28-
INNER JOIN (SELECT Н_ОТДЕЛЫ.ИД FROM Н_ОТДЕЛЫ WHERE Н_ОТДЕЛЫ.КОРОТКОЕ_ИМЯ = 'КТиУ') Н_ОТДЕЛЫ
28+
INNER JOIN Н_ОТДЕЛЫ
2929
ON Н_ПЛАНЫ.ОТД_ИД = Н_ОТДЕЛЫ.ИД
30+
WHERE Н_ОТДЕЛЫ.КОРОТКОЕ_ИМЯ = 'КТиУ'
3031
GROUP BY Н_ПЛАНЫ.ПЛАН_ИД
31-
HAVING COUNT(*) > 1
32-
ORDER BY Н_ПЛАНЫ.ПЛАН_ИД;
32+
HAVING COUNT(*) > 1;
33+
34+
-- 5
35+
SELECT ЧЛВК_ИД, ФАМИЛИЯ, ИМЯ, ОТЧЕСТВО, СРЕДНИЙ_БАЛЛ
36+
FROM Н_ЛЮДИ INNER JOIN
37+
(
38+
SELECT Н_УЧЕНИКИ.ЧЛВК_ИД, AVG(CAST(ОЦЕНКА AS REAL)) AS СРЕДНИЙ_БАЛЛ
39+
FROM Н_ВЕДОМОСТИ RIGHT JOIN Н_УЧЕНИКИ
40+
ON Н_УЧЕНИКИ.ЧЛВК_ИД = Н_ВЕДОМОСТИ.ЧЛВК_ИД
41+
WHERE ОЦЕНКА SIMILAR TO '\d' AND
42+
ГРУППА = '4100'
43+
GROUP BY Н_УЧЕНИКИ.ЧЛВК_ИД
44+
) ОЦ
45+
ON Н_ЛЮДИ.ИД = ОЦ.ЧЛВК_ИД
46+
WHERE СРЕДНИЙ_БАЛЛ >= (
47+
SELECT MAX(СРЕДНИЙ_БАЛЛ)
48+
FROM
49+
(
50+
SELECT AVG(CAST(ОЦЕНКА AS REAL)) AS СРЕДНИЙ_БАЛЛ
51+
FROM Н_ВЕДОМОСТИ RIGHT JOIN Н_УЧЕНИКИ
52+
ON Н_УЧЕНИКИ.ЧЛВК_ИД = Н_ВЕДОМОСТИ.ЧЛВК_ИД
53+
WHERE ОЦЕНКА SIMILAR TO '\d' AND
54+
ГРУППА = '1101'
55+
GROUP BY Н_УЧЕНИКИ.ЧЛВК_ИД
56+
)
57+
);
58+
59+
60+
-- 6
61+
SELECT
62+
Н_УЧЕНИКИ.ГРУППА,
63+
Н_УЧЕНИКИ.ИД,
64+
Н_ЛЮДИ.ФАМИЛИЯ,
65+
Н_ЛЮДИ.ИМЯ,
66+
Н_ЛЮДИ.ОТЧЕСТВО,
67+
Н_УЧЕНИКИ.В_СВЯЗИ_С AS НОМЕР_ПРИКАЗА,
68+
Н_УЧЕНИКИ.СОСТОЯНИЕ AS СОСТОЯНИЕ_ПРИКАЗА
69+
70+
FROM Н_ЛЮДИ RIGHT JOIN Н_УЧЕНИКИ
71+
ON Н_УЧЕНИКИ.ЧЛВК_ИД = Н_ЛЮДИ.ИД
72+
JOIN Н_ПЛАНЫ
73+
ON Н_ПЛАНЫ.ИД = Н_УЧЕНИКИ.ПЛАН_ИД
74+
JOIN Н_НАПРАВЛЕНИЯ_СПЕЦИАЛ
75+
ON Н_НАПРАВЛЕНИЯ_СПЕЦИАЛ.ИД = Н_ПЛАНЫ.НАПС_ИД
76+
JOIN Н_ФОРМЫ_ОБУЧЕНИЯ
77+
ON Н_ФОРМЫ_ОБУЧЕНИЯ.ИД = Н_ПЛАНЫ.ФО_ИД
78+
JOIN Н_НАПР_СПЕЦ
79+
ON Н_НАПР_СПЕЦ.ИД = Н_НАПРАВЛЕНИЯ_СПЕЦИАЛ.НС_ИД
80+
WHERE
81+
Н_УЧЕНИКИ.НАЧАЛО < '2012-09-01' AND
82+
Н_ПЛАНЫ.КУРС = 1 AND
83+
(Н_ФОРМЫ_ОБУЧЕНИЯ.НАИМЕНОВАНИЕ = 'Очная' OR Н_ФОРМЫ_ОБУЧЕНИЯ.НАИМЕНОВАНИЕ = 'Заочная') AND
84+
Н_НАПР_СПЕЦ.КОД_НАПРСПЕЦ = '230101';
85+
86+
-- 7
87+
SELECT ИМЯ, ДАТА_РОЖДЕНИЯ FROM
88+
Н_ЛЮДИ
89+
WHERE NOT EXISTS
90+
(
91+
SELECT 1
92+
FROM Н_ЛЮДИ Н_ЛЮДИ_2
93+
WHERE Н_ЛЮДИ.ИМЯ = Н_ЛЮДИ_2.ИМЯ AND
94+
Н_ЛЮДИ.ДАТА_РОЖДЕНИЯ = Н_ЛЮДИ_2.ДАТА_РОЖДЕНИЯ AND
95+
Н_ЛЮДИ.ИД != Н_ЛЮДИ_2.ИД
96+
)
97+
ORDER BY ИМЯ, ДАТА_РОЖДЕНИЯ;

databases/sem2/lab3/.~lock.1.odt#

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
,nf,laptop,07.05.2025 15:26,file:///home/nf/.var/app/org.libreoffice.LibreOffice/config/libreoffice/4;

databases/sem2/lab3/1.odt

104 KB
Binary file not shown.

discrete/sem2/.~lock.dop-2.odt#

Lines changed: 0 additions & 1 deletion
This file was deleted.

0 commit comments

Comments
 (0)