Какое утверждение лучше всего описывает коррелированный подзапрос?

AКоррелированный подзапрос обязан находиться в FROM, иначе движок не свяжет его с внешней таблицей при выполнении
BКоррелированный подзапрос обязан использовать WITH, чтобы движок построил связь со строками внешнего запроса
CКоррелированный подзапрос ссылается на колонки внешнего запроса (например, o.user_id) и оценивается отдельно для каждой внешней строки
DКоррелированный подзапрос обязательно возвращает одну строку результата, иначе SQL выкидывает ошибку выполнения
Правильный ответ. Корреляция появляется, когда подзапрос использует алиасы или колонки из внешнего запроса.

Разбор

Некоррелированный подзапрос можно выполнить «сам по себе» и получить один результат или набор. Коррелированный зависит от текущей строки внешнего запроса: в нём есть ссылка на внешний алиас (например, o.user_id), поэтому логически он пересчитывается для каждой внешней строки. Это важно понимать, чтобы не забыть условие связи и не получить неверный результат.

Можно заниматься бесплатно

Готовим вопросы…

Три вопроса по теме этой страницы, с объяснениями.

Продолжить в браузере

Ещё вопросы по теме «Подзапросы и CTE»