Каталог
Веб-разработка с нуля: четыре курса по порядку.
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Каталог
HTML, затем CSS, JavaScript и SQL. Каждый курс говорит, что нужно знать до него и что вы будете уметь после.
Загружаем курсы…
Урок 31 из 52 · 7 мин
Подзапрос как временная таблица и подзапрос для каждой строки.
Хочу список товаров, а рядом число заказов. Без GROUP BY по всему каталогу.
Подзапрос в SELECT, который смотрит на текущий товар. Я выполню его для каждой строки.
FROM (SELECT …) AS t — результат подзапроса становится таблицей, с которой можно работать дальше. Псевдоним обязателен.SELECT t.customer_id, t.orders
FROM (
SELECT customer_id, count(*) AS orders
FROM orders
WHERE customer_id IS NOT NULL
GROUP BY customer_id
) AS t
WHERE t.orders >= 3;p.id) и вычисляется заново для каждой строки.SELECT p.name,
(SELECT count(*) FROM reviews r WHERE r.product_id = p.id) AS reviews
FROM products p
ORDER BY reviews DESC, p.name
LIMIT 5;Коррелированный подзапрос выполняется для каждой строки. На больших таблицах JOIN с GROUP BY обычно быстрее.
Для каждого товара выведи name и times_ordered — в скольких позициях заказов (order_items) он встречается. Посчитай коррелированным подзапросом.
categories — категории товаровid, nameproducts — товарыid, name, category_id, price, weight_g, is_available, added_oncustomers — покупателиid, name, email, city, phone, birthday, registered_onstaff — сотрудникиid, name, role, salary, hired_on, manager_idorders — заказыid, customer_id, staff_id, created_at, statusorder_items — позиции заказовorder_id, product_id, quantity, unit_pricereviews — отзывыid, customer_id, product_id, rating, comment, created_onВыберите один ответ.
Что обязательно для подзапроса в FROM?
Выберите один ответ.
Чем коррелированный подзапрос отличается от обычного?
Проверяем состояние обучения…