Продвинутый
В чем разница между связанным (Correlated) и несвязанным подзапросом?
Несвязанный подзапрос выполняется один раз, независимо от внешнего запроса. Его результат подставляется во внешний запрос.
Пример: SELECT * FROM users WHERE age > (SELECT AVG(age) FROM users);
Связанный подзапрос (Correlated) ссылается на колонки из внешнего запроса. Он выполняется заново для каждой строки внешнего запроса, что делает его очень медленным на больших таблицах.
Пример: SELECT name FROM users u WHERE salary > (SELECT AVG(salary) FROM users WHERE department_id = u.department_id);