ИТиП // 2 семестр ЛАБОРАТОРНАЯ РАБОТА № 9 SQL – запросы
Цель работы: изучить принципы создания простых и сложных SQL-запросов для управления данными.
Теоретическая часть
Функция COUNT подсчитывает количество записей в таблице. Условие, по которому будут выбираться записи, задается с помощью команды WHERE. Команда WHERE не является обязательной, если ее не указать - будут подсчитаны все записи в таблице.
SELECT COUNT(поле) FROM имя_таблицы WHERE условие
Функция MIN возвращает минимальное значение поля среди найденных строк:
SELECT MIN(поле) FROM имя_таблицы WHERE условие
Функция MAX возвращает максимальное значение поля среди найденных строк:
SELECT MAX(поле) FROM имя_таблицы WHERE условие
Команда GROUP BY позволяет группировать результаты при выборке из базы данных. К сгруппированным результатам можно применять любые функции:
SELECT * FROM имя_таблицы WHERE условие GROUP BY поле_для_группировки
Команда ORDER BY позволяет сортировать записи по определенному полю при выборе из базы данных. По умолчанию записи сортируются по возрастанию, чтобы отсортировать по убыванию - поставьте DESC:
SELECT * FROM имя_таблицы WHERE условие ORDER BY поле DESC
Функция AVG возвращает среднее арифметическое по всем найденным записям. Среднее арифметическое группы чисел - это их сумма, поделенная на их количество.
Функция ROUND используется для округления дробей до нужного знака в дробной
части:
SELECT ROUND(поле) FROM имя_таблицы WHERE условие
SELECT ROUND(поле, сколько_знаков_оставить) FROM имя_таблицы WHERE условие
Задание
База данных «Университет» содержит информацию о студентах, обучающихся в нескольких учебных заведениях, которые находятся в разных городах, преподавателях, преподаваемых дисциплинах и экзаменационных данных (рисунок 1). База данных состоит из 6 таблиц.
1
Таблица 1 - Студенты
Таблица 2 - Преподаватели
Таблица 3 – Дисциплины, закрепленные за преподавателями
Таблица 4 - Учебные дисциплины
Таблица 5 - Университеты
Таблица 6 – Экзаменационные данные
2
Рисунок 1 – Логическая схема базы данных
1.Напишите запрос для подсчета количества студентов, сдававших экзамен по предмету обучения с идентификатором, равным 8.
2.Напишите запрос, который выполняет выборку для каждого студента значения его идентификатора и минимальной из полученных им оценок.
3.Напишите запрос, который выполняет вывод данных для каждого конкретного дня сдачи экзамена о количестве студентов, сдававших экзамен в этот день.
4.Для каждого экзамена, определите количество студентов, сдававших этот экзамен.
5.Предположим, что стипендия всем студентам увеличена на 20%. Напишите запрос к таблице STUDENT, выполняющий вывод номера студента, фамилию студента и величину увеличенной стипендии. Выходные данные упорядочить: а) по значению последнего столбца (величине стипендии); б) в алфавитном порядке фамилий студентов.
6.Напишите запрос, который выполняет вывод суммы баллов всех студентов для каждой даты сдачи экзаменов и представляет результаты в порядке убывания этих сумм.
3
7.Напишите запрос, который выполняет вывод а) среднего, б) минимального, в) максимального баллов всех студентов для каждой даты сдачи экзаменов и который представляет результаты в порядке убывания этих значений.
Содержание отчета
Отчет по работе должен содержать титульный лист, цель, задания, запросы, скрины выполненных заданий, вывод.
Список источников
1.SQL-запросы: основные команды для управления базами данных https://practicum.yandex.ru/blog/sql-zaprosy-dlya-upravleniya-bazami-dannyh/
2.Таблицы в SQL: типы и операции https://practicum.yandex.ru/blog/tablicy-v-sql/
4
