Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

3сем / лаб пдф / ЛР10_ИТиП

.pdf
Скачиваний:
0
Добавлен:
04.04.2026
Размер:
716.63 Кб
Скачать

ИТиП // 2 семестр ЛАБОРАТОРНАЯ РАБОТА № 10 SQL – запросы

Цель работы: изучить принципы создания простых и сложных SQL-запросов для управления данными.

Теоретическая часть

Подзапрос - это запрос, вложенный в другой запрос. Подзапрос может быть вложен в инструкции SELECT, INSERT, UPDATE или DELETE, а также в другой подзапрос. Подзапрос может использоваться:

§в инструкции SELECT

§в инструкции FROM

§в условии WHERE

Рекомендации, которым нужно следовать при использовании SQLподзапросов:

§Подзапрос должен быть заключен в круглые скобки;

§Подзапрос должен указываться в правой части оператора сравнения;

§Подзапросы не могут обрабатывать свои результаты, поэтому в подзапрос не может быть добавлено условие ORDER BY;

§Используйте однострочные операторы с однострочными подзапросами;

§Если подзапрос возвращает во внешний запрос значение NULL, внешний запрос не будет возвращать никакие строки при использовании операторов сравнения в условии WHERE.

Использование подзапроса в предложении WHERE без предикатов EXISTS, IN, ALL и ANY, которые дают булево значение, может привести к ошибке времени выполнения запроса. Команда IN выбирает записи из базы данных по определенным значениям поля.

Пример, необходимо выбрать записи, у которых id имеет значение 1, 3, 7, 14, 28. Это будет выглядеть так: WHERE id IN (1, 3, 7, 14, 28).

Условие EXISTS используется в сочетании с подзапросом и считается выполненным, если подзапрос возвращает хотя бы одну строку. Его можно использовать в операторе SELECT, INSERT, UPDATE или DELETE:

EXISTS (SELECT * FROM имя_таблицы...)

Условие NOT можно объединить с условием EXISTS, чтобы создать условие NOT

EXISTS:

NOT EXISTS (SELECT * FROM имя_таблицы...)

1

CASE – условный оператор языка SQL. Данный оператор позволяет осуществить проверку условий и возвратить в зависимости от выполнения того или иного условия тот или иной результат. Оператор CASE имеет две формы:

WHEN-условия проверяются последовательно, сверху-вниз. При достижении первого удовлетворяющего условия дальнейшая проверка прерывается и возвращается значение, указанное после слова THEN, относящегося к данному блоку WHEN.

Задание

База данных «Университет» содержит информацию о студентах, обучающихся в нескольких учебных заведениях, которые находятся в разных городах, преподавателях, преподаваемых дисциплинах и экзаменационных данных (рисунок 1). База данных состоит из 6 таблиц.

Таблица 1 - Студенты

Таблица 2 - Преподаватели

2

Таблица 3 – Дисциплины, закрепленные за преподавателями

Таблица 4 - Учебные дисциплины

Таблица 5 - Университеты

Таблица 6 – Экзаменационные данные

Рисунок 1 – Логическая схема базы данных

3

1.Напишите запрос с подзапросом для получения данных обо всех оценках студента с фамилией Иванов.

2.Напишите команду SELECT, использующую связанные подзапросы и выполняющую вывод имен и идентификаторов студентов, у которых стипендия совпадает с максимальным значением стипендии для города, в котором живет студент.

3.Напишите запрос, который позволяет вывести имена и идентификаторы всех студентов, для которых точно известно, что они проживают в городе, где нет ни одного университета.

4.Напишите запрос, который позволяет вывести имена и идентификаторы всех студентов, для которых точно известно, что они проживают не в том городе, где расположен их университет.

5.Напишите запрос с EXISTS, позволяющий вывести данные обо всех студентах, обучающихся в вузах, которые имеют рейтинг выше 300.

6.Напишите запрос с EXISTS, выбирающий сведения обо всех студентах, для которых в том же городе, где живет студент, существуют университеты, в которых он не учится.

7.Напишите запрос, выводящий статус студента в зависимости от курса: 1 курс – «Первокурсник», 2 курс – «Второкурсник», 3 курс – «Третьекурсник», 4 – «Четверокурсник».

Содержание отчета

Отчет по работе должен содержать титульный лист, цель, задания, запросы, скрины выполненных заданий, вывод.

Список источников

1.SQL-запросы: основные команды для управления базами данных https://practicum.yandex.ru/blog/sql-zaprosy-dlya-upravleniya-bazami-dannyh/

2.Таблицы в SQL: типы и операции https://practicum.yandex.ru/blog/tablicy-v-sql/

4

Соседние файлы в папке лаб пдф