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