数据库SQL实战 --47.将所有获取奖金的员工当前的薪水增加10%

题目描述

将所有获取奖金的员工当前的薪水增加10%。
create table emp_bonus(
emp_no int not null,
recevied datetime not null,
btype smallint not null);
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL, PRIMARY KEY (`emp_no`,`from_date`));

解决思路

UPDATE salaries SET salary = salary * 1.1 WHERE emp_no IN
(SELECT emp_no FROM emp_bonus)
  • 先选出符合条件的 emp_no,
  • 然后再用 UPDATE … SET … WHERE … IN … 语句来更新表中数据。

猜你喜欢

转载自blog.csdn.net/ouzhuangzhuang/article/details/89843436