Subquery — это запрос внутри другого запроса. Подзапрос можно использовать в SELECT, FROM, WHERE и других частях SQL-запроса для уточнения условий или получения промежуточных данных.
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, чтобы сначала получить промежуточные данные, а потом использовать их в основном запросе.
Оцени свой прогресс