如何从员工表中删除薪水最高的员工?

问题描述 投票:0回答:2

Employee表由Employee_id,Employee名称和薪水组成

如何从员工表中删除收入最高的员工?我尝试过

从员工中删除其中薪水=(从员工中选择最高(薪水));

但是它给出了一个错误错误代码:1093。您无法在FROM子句中指定目标表'employee'进行更新0.0022秒

mysql
2个回答
0
投票

您可以简单地做

delete from employee 
order by salary desc
limit 1

或修正您的查询

delete from employee 
where salary in 
(
  select * from (select max(salary) from employee) x
)

因为您需要构建临时表作为解决方法,因为您选择了同一表并从中删除。


0
投票

深埋一点

delete from employee 
where salary = (select maxsalary from (select max(salary) maxsalary from employee) s );

这将删除所有具有最高工资的员工

© www.soinside.com 2019 - 2024. All rights reserved.