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