四、流程控制函数
1、IF函 数
SELECT IE (100>9, '好', '坏') ;
需求:如果有奖金,则显示最终奖金,如果没有,则显示0
SELECT IF (comnission_pct IS NULL, 0, salary*12*commission_pct)奖金, commission_ pct
FROM employees;
2、CASE函数
情况1 :类似于switch语句,可以实现等值判断
CASE 表达式
WHEN值1 THEN结果1
WHEN值2 THEN结果2
ELSE结果n
END
案例:
部门编号是30,工资显示为2倍
部门编号是50,工资显示为3倍
部门编号是60,工资显示为4倍
否则不变
显示部门编号,新工资,旧工资
SELECT department_id, salary,
case department_id
when 30 then salary*2
when 50 then salary*3
when 60 then salary*4
else salary
end
newsalary
from employees;
②情况2:类似于多重IF语句,实现区间判断
CASE
WHEN 条件1 THEN结果1
WHEN 条件2 THEN结果2
ELSE结果n
END
案例:如果工资>20000, 显示级别A
工资>15000,显示级别B
工资>10000,显示级别c
否则,显示D
select salary,
case
when salary>20000 then 'A'
when salary>15000 then 'B'
when salary>10000 then 'C'
else 'D'
end newgrade
from employees;
网友评论