Перейти к содержанию

22. Практическая Вычисления в SQL запросах

Цель работы

  • Научиться выполнять арифметические вычисления в запросах SELECT.
  • Освоить использование выражений и псевдонимов.
  • Научиться применять агрегатные функции для анализа данных.
  • Освоить использование условных выражений CASE.
  • Научиться корректно обрабатывать значения NULL.

Исходные условия

  • У студента есть собственная база данных, созданная ранее.
  • В базе присутствуют таблицы с числовыми, текстовыми и (желательно) датами.
  • В таблицах должно быть не менее 5–7 записей.
  • Синтаксис SQL используется из лекции «Вычисления в запросах».

Ход работы

Задание 1. Арифметические вычисления

  1. Выберите таблицу, содержащую числовые поля (например: цена, количество, зарплата, балл и т.п.).
  2. Выполните вычисление с использованием операций:
    • умножение;
    • сложение или вычитание.
  3. Задайте псевдоним вычисляемому столбцу.

Задание 2. Сложное выражение

  1. Выполните вычисление, используя скобки для задания порядка операций.
  2. Рассчитайте производный показатель (например: итоговая сумма с учётом скидки, налог, средний показатель и т.п.).

Задание 3. Работа с датами или текстом

  1. Если в базе есть даты — выполните вычисление на основе даты (например, вычисление возраста или разницы дат).
  2. Если есть текстовые поля — выполните объединение строк (например, формирование полного имени).

Задание 4. Агрегатные вычисления

  1. Используйте агрегатные функции:
    • SUM()
    • AVG()
    • MIN() или MAX()
  2. Выполните подсчёт общего показателя по таблице.

Задание 5. GROUP BY + вычисления

  1. Выполните группировку по одному столбцу.
  2. Для каждой группы рассчитайте агрегатное значение (например, сумму, среднее или количество).

Задание 6. Условные вычисления (CASE)

  1. Используйте выражение CASE для классификации данных.
    Пример идеи:
    • разделение по диапазону значений;
    • определение категории по числовому показателю;
    • текстовое описание статуса.
  2. Создайте новый вычисляемый столбец с результатом CASE.

Задание 7. Работа с NULL

  1. Найдите поле, где возможны значения NULL.
  2. Выполните вычисление с использованием IFNULL() или COALESCE().
  3. Сравните результат с обычным вычислением без обработки NULL.

Задание 8. Итоговый аналитический запрос

Составьте один итоговый запрос, который одновременно использует: - арифметическое выражение; - агрегатную функцию; - GROUP BY (при необходимости); - CASE (желательно); - псевдонимы столбцов. Запрос должен иметь практический смысл для вашей предметной области.


Требования к отчёту

Отчёт должен содержать: 1. Тему. 2. Краткое описание своей базы данных (что за предметная область, какие таблицы используются). 3. Для каждого задания: - Используемые таблицы - SQL запрос + описание, - Результат.