🔹 Подзапросы в SQL: WHERE, FROM, SELECT 🔹 Где можно ставить subquery и зачем? 🔸 subquery в SQL (Structured Query Language) позволяет вложить один запрос в другой, чтобы вычислить критерий или агрегат без множества временных таблиц.

🔸 В WHERE используются для фильтрации по набору (IN/EXISTS) когда условие зависит от другой таблицы.

🔸 В FROM — как derived table (временная таблица) для дальнейшей агрегации. В SELECT — скалярный subquery для одного вычисленного значения. WITH (CTE, Common Table Expression) делает такие шаги читаемыми и переиспользуемыми.

🔸 Performance: субзапросы удобны, но JOIN или WITH часто дают лучший план. Сравнивайте план выполнения и заменяйте subquery на JOIN, если видите тормоза.

-- WHERE SELECT * FROM orders WHERE customer_id IN (SELECT id FROM customers WHERE vip=1);

-- FROM SELECT t.customer_id, SUM(t.amount) FROM (SELECT customer_id, amount FROM orders) AS t GROUP BY t.customer_id;

-- SELECT scalar SELECT id, (SELECT COUNT(*) FROM orders o WHERE o.customer_id=c.id) AS orders_cnt FROM customers c;

📚 Используйте WITH для читаемости; тестируйте performance и меняйте на JOIN при необходимости.

#CODERIKK #Sql #Middle

➡️ Мы в Telegram - Сетке - Дзен Буду рад вашей реакции здесь⬇️


В этом посте были ссылки, но мы их удалили по правилам Сетки

🔹 Подзапросы в SQL: WHERE, FROM, SELECT
🔹 Где можно ставить subquery и зачем?
🔸 subquery в SQL (Structured Query Language) позволяет вложить один запрос в другой, чтобы вычислить критерий или агрегат ... | Сетка — социальная сеть от hh.ru