Этот пример коррелированного подзапроса кажется неправильным

#mysql #sql

#mysql #sql

Вопрос:

Я нашел этот пример на https://sqlbolt.com/topic/subqueries
введите описание изображения здесь

Разве «dept_employees» в последней строке запроса не должен ссылаться на таблицу? Из строки перед ним видно, что это столбец.

Я попытался запустить его в MySQL и получил «Код ошибки: 1054. Неизвестный столбец ‘dept_employees.department’ в предложении ‘where'»

Комментарии:

1. Он ссылается на таблицу. Он ссылается на employees таблицу, на которую ссылается подзапрос. Я не могу сказать, какова связь между запросом и вопросом, но синтаксис, похоже, не является проблемой.

2. Да, этот запрос синтаксически допустим в каждой версии MySQL, по крайней мере, начиная с 5.5

3. Вы должны скопировать текст изображения непосредственно в свой вопрос, чтобы избежать проблем, если изображение было потеряно.

Ответ №1:

Возможно, это можно было бы упростить до этого, но я ничего не знаю о MySQL.

 SELECT *
FROM employees
WHERE salary >
(
    SELECT AVG(revenue_generated)
    FROM employees
    WHERE department = employees.department
)