> 1093 - You can‘t specify target table ‘emp‘ for update in FROM clause

tech2025-07-07  2

1093 - You can’t specify target table ‘emp’ for update in FROM clause 翻译为:不能先select出同一表中的某些值,再update这个表(在同一语句中)

删除工资大于部门平均工资的员工信息 delete from emp where sal>(select avg(sal) from emp e where emp.deptno=e.deptno) 这样会报错 MySQL的delect不支持别名

参考答案可以是这样 delete from emp where sal<(select a.avgsal from (select avg(ifnull(sal,0)) avgsal from emp e where e.deptno=deptno) a)

最新回复(0)