3сем / лаб / новая папка / 10
.docxОрдена Трудового Красного Знамени федеральное государственное бюджетное образовательное учреждение высшего образования
Московский технический университет связи и информатики
(МТУСИ)
Факультет "Сети и системы связи"
ОТЧЕТ
Лабораторная работа № 10 «SQL – запросы»
Выполнили:
Студенты группы БИН2412 _____________
Бутаков Д. Д.
Джумаев Д.Б.
Джумъаев Ф.Н.
Проверил:
Пономарев К. В. _____________
Дата защиты________2025г.
Москва 2025 г.
Цель работы: изучить принципы создания простых и сложных SQL-запросов для управления данными.
Задание:
1. Напишите запрос с подзапросом для получения данных обо всех оценках студента с фамилией Иванов.
2. Напишите команду SELECT, использующую связанные подзапросы и выполняющую вывод имен и идентификаторов студентов, у которых стипендия совпадает с максимальным значением стипендии для города, в котором живет студент.
3. Напишите запрос, который позволяет вывести имена и идентификаторы всех студентов, для которых точно известно, что они проживают в городе, где нет ни одного университета.
4. Напишите запрос, который позволяет вывести имена и идентификаторы всех студентов, для которых точно известно, что они проживают не в том городе, где расположен их университет.
5. Напишите запрос с EXISTS, позволяющий вывести данные обо всех студентах, обучающихся в вузах, которые имеют рейтинг выше 300.
6. Напишите запрос с EXISTS, выбирающий сведения обо всех студентах, для которых в том же городе, где живет студент, существуют университеты, в которых он не учится.
7. Напишите запрос, выводящий статус студента в зависимости от курса: 1 курс – «Первокурсник», 2 курс – «Второкурсник», 3 курс – «Третьекурсник», 4 – «Четверокурсник».
Ход выполнения работы:
Задание 1. Запрос с подзапросом для получения данных обо всех оценках студента с фамилией Иванов
Рисунок
№ 1
Подзапрос в условии WHERE находит STUDENT_ID студента с фамилией "Иванов", затем внешний запрос выбирает все экзаменационные записи с этим ID.
Задание 2. Связанный подзапрос для студентов со стипендией, равной максимальной в их городе
Рисунок
№ 2
Связанный подзапрос вычисляет максимальную стипендию для каждого города, в котором проживает студент из внешнего запроса.
Задание 3. Студенты, проживающие в городах без университетов
Рисунок
№ 3
Подзапрос возвращает список всех городов, где есть университеты, а внешний запрос выбирает студентов из городов, которых нет в этом списке.
Задание 4. Студенты, проживающие не в городе своего университета
Рисунок
№ 4
JOIN объединяет таблицы студентов и университетов, а условие WHERE проверяет несовпадение городов проживания и расположения университета.
Задание 5. Студенты из вузов с рейтингом выше 300 с использованием EXISTS
Рисунок
№ 5
EXISTS проверяет, существует ли университет с таким же UNIV_ID и рейтингом выше 300. Подзапрос возвращает TRUE, если условие выполняется.
Задание 6. Студенты, для которых в их городе есть другие университеты с использованием EXISTS
Рисунок
№ 6
Подзапрос ищет университеты в том же городе, но с другим ID, чем университет студента. EXISTS возвращает TRUE, если такие университеты найдены.
Задание 7. Определение статуса студента в зависимости от курса с помощью CASE
Рисунок
№ 7
Оператор CASE проверяет значение столбца KURS и возвращает соответствующее текстовое описание статуса студента.
Вывод
В ходе выполнения лабораторной работы были успешно изучены и применены различные виды SQL-запросов:
Подзапросы в условиях WHERE
Связанные подзапросы для сравнения внутри групп
Оператор EXISTS для проверки существования записей
Оператор CASE для условного преобразования данных
JOIN для объединения таблиц и сложных условий
