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

26. Практическая Подзапросы

Цель работы

  • Научиться использовать подзапросы в разделе WHERE
  • Освоить использование операторов IN, ANY, ALL.
  • Понять принцип работы коррелированных подзапросов.
  • Научиться применять подзапросы для анализа данных в собственной базе данных.

Ход работы

Задание 1. Подзапрос в WHERE (=)

  1. Выберите две связанные таблицы (например: Students и Groups, Orders и Customers).
  2. Составьте запрос, который использует подзапрос в WHERE с оператором =.
  3. Подзапрос должен возвращать одно значение.

Задание 2. Подзапрос с IN

  1. Составьте запрос, в котором подзапрос возвращает несколько значений.
  2. Используйте оператор IN.
  3. Выведите записи, удовлетворяющие условию.

Задание 3. Подзапрос с агрегатной функцией

  1. Найдите записи, значение которых больше среднего по таблице.
  2. Используйте подзапрос с функцией AVG().

Пример идеи:

  • сотрудники с зарплатой выше средней;
  • товары дороже средней цены;
  • студенты с баллом выше среднего.

Задание 4. Подзапрос в SELECT

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

Задание 5. Подзапрос в FROM

  1. Создайте подзапрос, который выполняет группировку.
  2. Используйте его как временную таблицу во внешнем запросе.
  3. Обязательно задайте псевдоним.

Задание 6. Коррелированный подзапрос

  1. Составьте запрос, в котором подзапрос зависит от внешнего запроса.
  2. Подзапрос должен использовать значение из внешней таблицы.

Пример идеи: - студенты с баллом выше среднего по своей группе; - товары дороже среднего в своей категории.


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

Составьте один сложный запрос, который:

  • использует подзапрос;
  • содержит агрегатную функцию;
  • имеет практический смысл для вашей предметной области.

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

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