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 подскажет развёрнутый ответ в реальном времени.