Uncorrelated subquery — выполняется один раз, независимо от внешнего запроса. SELECT * FROM users WHERE salary > (SELECT AVG(salary) FROM users) — средняя зарплата вычисляется один раз. Correlated subquery — ссылается на столбцы внешнего запроса и выполняется для каждой строки. SELECT * FROM users u WHERE salary > (SELECT AVG(salary) FROM users WHERE department = u.department) — средняя считается для каждого отдела отдельно. Correlated медленнее, но иногда неизбежен. Часто можно переписать через JOIN или window function.
Correlated vs uncorrelated subquery?
Middle
409 просмотровAFK Offer AI
Что такое SOLID в контексте Go?