描述
现有员工获取到的奖金简表emp_bonus如下:
- emp_no指获取到奖金的员工编号;
- bytpe指获取到的奖金类型。
有员工薪资简表salaries如下:
- emp_no指员工编号;
- salary指薪资;
- from_date指该薪资的开始日期;
- to_date指该薪资的结束日期。
请你写出更新语句,将所有获取奖金的员工当前的(salaries.to_date='9999-01-01')薪水增加10%。(emp_bonus里面的emp_no都是当前获奖的所有员工,不考虑获取的奖金的类型)。
以上示例更新后的结果salaries为:
注:只需写出更新语句,后台会执行以下SQL语句,将更新后的结果与预期结果对比:
select * from salaries;
示例1
输入:
drop table if exists emp_bonus; drop table if exists `salaries` ; create table emp_bonus( emp_no int not null, btype smallint not null); CREATE TABLE `salaries` ( `emp_no` int(11) NOT NULL, `salary` float(11,1) default NULL, `from_date` date NOT NULL, `to_date` date NOT NULL, PRIMARY KEY (`emp_no`,`from_date`)); insert into emp_bonus values(10001,1); INSERT INTO salaries VALUES(10001,85097,'2001-06-22','2002-06-22'); INSERT INTO salaries VALUES(10001,88958,'2002-06-22','9999-01-01');
复制输出:
10001|85097.000|2001-06-22|2002-06-22 10001|97853.800|2002-06-22|9999-01-01
/*
题目:将所有获取奖金的员工当前的薪水增加10%
*/
update salaries
set salary=salary*1.1
where to_date="9999-01-01" and emp_no in
(
select emp_no
from emp_bonus
)