Что такое подзапрос в БД
Python
Middle
Без компании
Что такое подзапрос в БД
Ответы
Подзапрос (subquery) — это SQL-запрос, вложенный внутрь другого запроса (SELECT, INSERT, UPDATE, DELETE). Он выполняется первым, а его результат используется внешним запросом. Подзапросы могут быть в WHERE, FROM, SELECT и других частях основного запроса.
Пример с WHERE:
```
SELECT name FROM users
WHERE id IN (SELECT user_id FROM orders WHERE total > 1000);
```
Пример с FROM:
```
SELECT avg(sub.total)
FROM (SELECT SUM(amount) as total FROM payments GROUP BY user_id) sub;
```
Типы подзапросов:
- Коррелированные (зависят от внешнего запроса)
- Некоррелированные (выполняются независимо)
- Скалярные (возвращают одно значение)
- Табличные (возвращают набор строк)
Подзапросы могут ухудшать производительность на больших таблицах, поэтому иногда лучше использовать JOIN.