Mediumsubquery
Что такое подзапросы (subqueries)?
1Постановка
Разберём, что от вас хотят в этом вопросе и как к нему подступиться на собеседовании.
2Решение
Подзапрос — SELECT внутри другого SQL. Бывают скалярные (одно значение), строковые, табличные и коррелированные (ссылаются на внешний запрос).
-- Скалярный: сотрудники выше среднего
SELECT * FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees);
-- Коррелированный: число заказов каждого пользователя
SELECT u.name,
(SELECT COUNT(*) FROM orders WHERE user_id = u.id) AS order_count
FROM users u;С IN/EXISTS проверяют вхождение во множество. Коррелированные подзапросы могут быть медленными (выполняются для каждой строки) — часто JOIN быстрее.
3Как отвечать
- Сначала уточните условия и ограничения, покажите аналитическое мышление.
- Рассуждайте вслух — интервьюеру важен ход мысли, а не только финальный ответ.
- Оцените сложность по времени и памяти (Big-O), если это алгоритмический вопрос.
💡
На реальном собеседовании Alffert подскажет развёрнутый ответ в реальном времени.