在10月份获得最低工资的员工增加1%的工资
我的解决方案
update emp set sal = sal + (sal* 1/100)
where
sal = (select min(sal) from emp2 where deptno = 10)
- 更新了1行
但是正确的解决方案是
update emp set sal = sal + (sal* 1/100)
where
sal = (select min(sal) from emp2 where deptno = 10)
and deptno=10
- 更新了1行
这里的问题是为什么mysolution是错误的
1)找出谁在deptno 10中制作最低的sal 从emp2中选择min(sal),其中deptno = 10 -
2)在10月份获得最低工资的员工增加1%的工资 所以, update emp set sal = sal +(sal * 1/100) 哪里 sal =(从emp2中选择min(sal),其中deptno = 10)
答案 0 :(得分:2)
如果主查询中没有deptno=10
条件,您将更新仅匹配工资金额的所有员工。这就是为什么正确的答案对于子查询和主查询都有这个条件。