Подзапросы. Часть 1
Часть раздела Основы путешествия по SQL на Coddy. Урок 38 из 72.
Подзапросы позволяют объединить несколько запросов в один. Например, рассмотрим следующую таблицу <strong>employees</strong>:
| id | зарплата |
|---|---|
| 1 | 48 |
| 2 | 34 |
| 3 | 46 |
| 4 | 13 |
| 5 | 28 |
Нам нужен подзапрос, потому что мы не можем напрямую использовать WHERE salary > AVG(salary), поскольку агрегатные функции, такие как AVG(), нельзя использовать в предложении WHERE — их можно использовать только после группировки данных.
SELECT id, salary
FROM employees
WHERE salary > (
SELECT AVG(salary)
FROM employees
);Подзапрос помогает найти сотрудников, которые зарабатывают больше средней зарплаты в компании, сначала вычисляя среднее значение (внутренний запрос), а затем используя это значение для фильтрации сотрудников (внешний запрос).
Поскольку среднее значение равно: (48 + 34 + 46 + 13 + 28) / 5 = 33.8, вот результат запроса:
| id | зарплата |
|---|---|
| 1 | 48 |
| 2 | 34 |
| 3 | 46 |
Задание
ЛегкоДоступные таблицы и столбцы:
shop:price,quantity,category,list_date
Напишите запрос, чтобы найти все товары (выбрать все столбцы), цена которых выше средней цены всех товаров.
Используйте подзапрос в предложении WHERE, чтобы вычислить среднюю цену, а затем сравните цену каждого товара с этим средним значением.
Попробуйте сами
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Больше ключевых слов
Ключевое слово INКлючевое слово BETWEENКлючевое слово LIKEКлючевое слово ASПовторение - Модели мобильных телефонов2Условия
Основы условийКлючевое слово ANDКлючевое слово ORКлючевое слово NOTКомбинирование нескольких условийСкобкиБулевы значения5Арифметические операции
Математические операторыМатематические столбцыОперация moduloФункция ROUND()3Специальный формат возврата
Значения NULLСортировка результатов, часть 1Сортировка результатов, часть 2Повторение - Фирма по кибербезопасностиОграничение количества записейПовторение - Автозавод6Вводные вызовы
Повторение - Парламентские выборыПовторение - Арест преступника полициейПовторение - Ёмкость для напитков в бареПовторение - Создание новых столбцовПотренируйтесь самостоятельно: Песочница SQL