SQL SELECT CASE

时间:2016-08-23 15:57:08

标签: sql oracle case

有一张表:Emp( EmpId, EmpName, Sal )

我必须显示表格的所有数据以及使用以下信息计算的奖金:

          sal >  5000, bonus = 10%
          sal > 10000, bonus = 20%
          sal > 25000, bonus = 30%

在单个查询中。

1 个答案:

答案 0 :(得分:1)

使用CASE表达式:

select empid, empname, sal,
       case 
          when sal > 25000 then sal * 0.30 
          when sal > 10000 then sal * 0.20
          when sal >  5000 then sal * 0.10
          else 0
       end as bonus
from emp;