Employee表由Employee_id,Employee名称和薪水组成
如何从员工表中删除收入最高的员工?我尝试过
从员工中删除其中薪水=(从员工中选择最高(薪水));
但是它给出了一个错误错误代码:1093。您无法在FROM子句中指定目标表'employee'进行更新0.0022秒
您可以简单地做
delete from employee
order by salary desc
limit 1
或修正您的查询
delete from employee
where salary in
(
select * from (select max(salary) from employee) x
)
因为您需要构建临时表作为解决方法,因为您选择了同一表并从中删除。
深埋一点
delete from employee
where salary = (select maxsalary from (select max(salary) maxsalary from employee) s );
这将删除所有具有最高工资的员工