Вопрос33
Осталось:

Что такое коррелированный подзапрос?

Образцовый ответ

Показывать ответ по умолчанию

Коррелированный подзапрос — это подзапрос, который зависит от внешнего запроса. Он выполняется для каждой строки внешнего запроса, используя значения из этой строки.

Особенности

  • Подзапрос ссылается на столбцы из внешнего запроса.
  • Может быть менее эффективным из-за множественного выполнения.

Пример

Есть таблица employees и departments.

MySQL 8.1
SELECT e.name, e.salary
FROM employees e
WHERE e.salary > (
    SELECT AVG(salary)
    FROM employees
    WHERE department_id = e.department_id
);
  • Здесь подзапрос вычисляет среднюю зарплату для отдела каждого сотрудника
  • Основной запрос выбирает сотрудников, чья зарплата выше средней по отделу

Больше информации о коррелированных подзапросах в нашем курс.