Отличие коррелированных подзапросов от некоррелированных заключается в том, как они ссылаются на внешний запрос: 1
- Некоррелированный подзапрос может быть оценён независимо от внешнего запроса. 1 Он не ссылается ни на один столбец внешнего запроса и может быть выполнен самостоятельно. 1
- Коррелированный подзапрос ссылается на один или несколько столбцов из внешнего запроса, используя значения из него. 1 Он выполняется не один раз перед выполнением запроса, в который он вложен, а для каждой строки, которая может быть включена в окончательный результат. 2
Таким образом, некоррелированный подзапрос выполняется один раз для всего внешнего запроса, в то время как коррелированный — для каждой отдельной строки выборки, что может замедлять выполнение всего запроса в целом. 4