Как написать подзапрос (subquery)?

Subquery — это запрос внутри другого запроса. Подзапрос можно использовать в SELECT, FROM, WHERE и других частях SQL-запроса для уточнения условий или получения промежуточных данных.
Подробный ответ

Что такое подзапрос

Подзапрос — это вложенный запрос, результат которого используется в основном запросе. Он помогает сделать SQL более гибким, когда сначала нужно получить одно значение или набор строк, а потом использовать их дальше.

Подзапрос в WHERE

SELECT name
FROM users
WHERE id IN (
  SELECT user_id
  FROM orders
);

Здесь сначала выбираются user_id из orders, а потом из users берутся только те, у кого id есть в этом списке.

Подзапрос в FROM

Подзапрос можно поместить и в FROM, если нужно сначала подготовить промежуточную таблицу.

SELECT t.city, t.cnt
FROM (
  SELECT city, COUNT(*) AS cnt
  FROM users
  GROUP BY city
) t
WHERE t.cnt > 10;

Когда использовать

Подзапросы удобны, когда результат одного запроса нужен как часть другого. Но если запрос становится слишком сложным, иногда лучше переписать его через JOIN.

Как ответить на собеседовании

Подзапрос — это запрос внутри запроса. Его можно использовать в WHERE, FROM или других частях SQL, чтобы сначала получить промежуточные данные, а потом использовать их в основном запросе.

Оцени свой прогресс

Честно оцени своё понимание этого вопроса, чтобы мы могли построить твой учебный трек максимально эффективно.
Читать в блоге