← К оглавлению занятия

Занятие 25. Подзапросы

📁 Блок: SQL / MySQL / Подзапросы и CTE ⏱️ Время изучения: ~90 мин 🎯 Сложность: Средняя
#in #where #select #from

⚡ Кратко: команды

  • WHERE column IN (SELECT ...)
  • WHERE column > (SELECT ...)
  • FROM (SELECT ...) AS alias

🔖 Справочник операторов

Подзапрос в WHERE с IN

SELECT *
FROM orders
WHERE customer_id IN (
    SELECT id FROM customers WHERE city = 'Los Angeles'
);

Скалярный подзапрос

SELECT *
FROM order_details
WHERE unit_price > (
    SELECT AVG(unit_price) FROM order_details
);

Подзапрос в FROM

SELECT p.product_name, ps.total_orders
FROM (
    SELECT product_id, COUNT(*) AS total_orders
    FROM order_details
    GROUP BY product_id
) AS ps
JOIN products AS p ON ps.product_id = p.id
ORDER BY ps.total_orders DESC
LIMIT 10;

Многострочный подзапрос

SELECT *
FROM orders
WHERE employee_id IN (
    SELECT id FROM employees WHERE job_title = 'Sales Representative'
);

🔗 Полный справочник

Более полный каталог SQL-операторов курса — в справочнике SQL.