给薪水> $ 4000的薪水增加10%,给其余薪水增加5%

时间:2018-10-13 09:35:11

标签: sql database

假设我有一个employee表,其中有一个列salary。我想在年末给薪水> $ 4000的工资增加10%,给薪水<= $ 4000的工资增加5%。但不幸的是,我无法在单个查询中编写该SQL。

1 个答案:

答案 0 :(得分:3)

您可以使用CASE表达式(适用于大多数RDBMS):

UPDATE employee
SET salary = salary * CASE WHEN salary > 4000 THEN 1.1 ELSE 1.05 END

或特定的功能,例如:IF(MySQL),IIF(SQL Server2012 +),DECODE(Oracle)