Я изучаю SQL и тестировал синтаксис выражения with, когда столкнулся с этой ошибкой в своем запросе SQL. Я хочу получить идентификаторы и имена всех преподавателей из базы данных университета с максимальной зарплатой. Эта база данных взята из книги «Концепции системы баз данных» Зильбершаца и др.
Схемой отношения инструктора является инструктор(ID, имя, имя_отдела, зарплата), где последний атрибут «зарплата» имеет числовой тип, MySQL Workbench жалуется, что
Error Code: 1054. Unknown column 'max_salary.value' in 'where clause'
< /code>
Вот мой код < /p>
-- MySQL workbench complains with the above error!
with max_salary(value) as
(select max(salary)
from instructor)
select ID, name
from instructor
where max_salary.value = instructor.salary;
Я знаю, как переписать это без предложения с следующим образом
, но у меня были проблемы с синтаксисом с для этой конкретной проблемы.
-- This works!
select ID, name
from instructor
where instructor.salary = (select max(salary) from
instructor )
Подробнее здесь: https://stackoverflow.com/questions/797 ... est-salary