22. Практическая Вычисления в SQL запросах
Цель работы
- Научиться выполнять арифметические вычисления в запросах
SELECT. - Освоить использование выражений и псевдонимов.
- Научиться применять агрегатные функции для анализа данных.
- Освоить использование условных выражений
CASE. - Научиться корректно обрабатывать значения
NULL.
Исходные условия
- У студента есть собственная база данных, созданная ранее.
- В базе присутствуют таблицы с числовыми, текстовыми и (желательно) датами.
- В таблицах должно быть не менее 5–7 записей.
- Синтаксис SQL используется из лекции «Вычисления в запросах».
Ход работы
Задание 1. Арифметические вычисления
- Выберите таблицу, содержащую числовые поля (например: цена, количество, зарплата, балл и т.п.).
- Выполните вычисление с использованием операций:
- умножение;
- сложение или вычитание.
- Задайте псевдоним вычисляемому столбцу.
Задание 2. Сложное выражение
- Выполните вычисление, используя скобки для задания порядка операций.
- Рассчитайте производный показатель (например: итоговая сумма с учётом скидки, налог, средний показатель и т.п.).
Задание 3. Работа с датами или текстом
- Если в базе есть даты — выполните вычисление на основе даты (например, вычисление возраста или разницы дат).
- Если есть текстовые поля — выполните объединение строк (например, формирование полного имени).
Задание 4. Агрегатные вычисления
- Используйте агрегатные функции:
SUM()AVG()MIN()илиMAX()
- Выполните подсчёт общего показателя по таблице.
Задание 5. GROUP BY + вычисления
- Выполните группировку по одному столбцу.
- Для каждой группы рассчитайте агрегатное значение (например, сумму, среднее или количество).
Задание 6. Условные вычисления (CASE)
- Используйте выражение
CASEдля классификации данных.
Пример идеи:- разделение по диапазону значений;
- определение категории по числовому показателю;
- текстовое описание статуса.
- Создайте новый вычисляемый столбец с результатом CASE.
Задание 7. Работа с NULL
- Найдите поле, где возможны значения
NULL. - Выполните вычисление с использованием
IFNULL()илиCOALESCE(). - Сравните результат с обычным вычислением без обработки NULL.
Задание 8. Итоговый аналитический запрос
Составьте один итоговый запрос, который одновременно использует:
- арифметическое выражение;
- агрегатную функцию;
- GROUP BY (при необходимости);
- CASE (желательно);
- псевдонимы столбцов.
Запрос должен иметь практический смысл для вашей предметной области.
Требования к отчёту
Отчёт должен содержать: 1. Тему. 2. Краткое описание своей базы данных (что за предметная область, какие таблицы используются). 3. Для каждого задания: - Используемые таблицы - SQL запрос + описание, - Результат.