Вложенный подзапрос (некоррелированный) — это самостоятельный запрос, который выполняется независимо от внешнего запроса. Коррелированный подзапрос ссылается на значения из внешнего запроса и не может выполняться самостоятельно.
Вложенный подзапрос — выполняется независимо:
SELECT name FROM employees
WHERE department_id IN (SELECT id FROM departments WHERE location = 'NYC');
Коррелированный подзапрос — ссылается на e.department_id из внешнего запроса:
SELECT name FROM employees e
WHERE salary > (SELECT AVG(salary) FROM employees WHERE department_id = e.department_id);
Вложенный подзапрос выполняется только один раз и передает свой результат во внешний запрос, в то время как коррелированный подзапрос должен переоткомпилироваться для каждой строки, обработанной внешним запросом.
Новый — ещё не проверен сообществом
Вы