SELECT D.Факультет, D.Шифр, D.Название, E.Фамилия AS [Фамилия заведующего]
FROM dbo.Department D
INNER JOIN dbo.Head_Department HD ON D.Шифр = HD.Таб_номер -- связь через руководителя (либо по Таб_номер)
INNER JOIN dbo.Employee E ON HD.Таб_номер = E.Tab_номер
WHERE D.Шифр IN (SELECT DISTINCT Шиф FROM dbo.Specialization);
SELECT E.Tab_номер, E.Фамилия,
M.Tab_номер AS [Таб номер шефа], M.Фамилия AS [Фамилия шефа]
FROM dbo.Employee E
LEFT OUTER JOIN dbo.Employee M ON E.Шеф = M.Tab_номер;
SELECT S.Рег_номер, S.Фамилия
FROM dbo.Student S
INNER JOIN dbo.Exam1 Ex ON S.Рег_номер = Ex.Рег_номер
WHERE Ex.Оценка >= 3
GROUP BY S.Рег_номер, S.Фамилия
HAVING COUNT(Ex.Код) >= 2;
SELECT E.Фамилия, E.Зарплата, Eng.Специальность
FROM dbo.Engineer1 Eng
INNER JOIN dbo.Employee E ON Eng.Таб_Номер = E.Tab_номер
WHERE E.Зарплата < 20000;
SELECT DISTINCT S.Рег_номер, S.Фамилия
FROM dbo.Student S
INNER JOIN dbo.Exam1 Ex ON S.Рег_номер = Ex.Рег_номер
WHERE Ex.Аудитория = '101' AND Ex.Оценка >= 3; -- замените '101' на нужную аудиторию
SELECT S.Рег_номер, S.Фамилия,
COUNT(Ex.Код) AS [Количество сданных экзаменов],
AVG(CAST(Ex.Оценка AS FLOAT)) AS [Средний балл]
FROM dbo.Student S
INNER JOIN dbo.Exam1 Ex ON S.Рег_номер = Ex.Рег_номер
WHERE Ex.Оценка >= 3
GROUP BY S.Рег_номер, S.Фамилия
HAVING AVG(CAST(Ex.Оценка AS FLOAT)) >= 4;
SELECT E.Фамилия, E.Зарплата, T.Степень
FROM dbo.Head_Department HD
INNER JOIN dbo.Employee E ON HD.Таб_номер = E.Tab_номер
LEFT OUTER JOIN dbo.Teacher T ON HD.Таб_номер = T.Таб_номер;
SELECT E.Фамилия, T.Звание, T.Степень, E.Должность
FROM dbo.Teacher T
INNER JOIN dbo.Employee E ON T.Таб_номер = E.Tab_номер
WHERE T.Звание = 'Профессор' OR E.Должность = 'Профессор';
SELECT Disc.Название AS [Название дисциплины], E.Фамилия, E.Должность, T.Степень, Ex.Дата, Ex.Аудитория
FROM dbo.Exam1 Ex
INNER JOIN dbo.Discipline Disc ON Ex.Код = Disc.Код
INNER JOIN dbo.Employee E ON Ex.Таб_номер = E.Tab_номер
INNER JOIN dbo.Teacher T ON Ex.Таб_номер = T.Таб_номер
WHERE Ex.Дата BETWEEN '2026-01-01' AND '2026-06-30' -- укажите ваш диапазон дат
ORDER BY Ex.Дата ASC;
SELECT E.Фамилия
FROM dbo.Exam1 Ex
INNER JOIN dbo.Employee E ON Ex.Таб_номер = E.Tab_номер
GROUP BY E.Tab_номер, E.Фамилия
HAVING COUNT(Ex.Дата) > 3;
SELECT S.Рег_номер, S.Фамилия
FROM dbo.Student S
LEFT OUTER JOIN dbo.Exam1 Ex ON S.Рег_номер = Ex.Рег_номер AND Ex.Дата = '2026-06-15' -- укажите дату
WHERE Ex.Рег_номер IS NULL;