#流程控制函数
#1.if函数: if else的效果
SELECT IF('10>5','大','小');
SELECT last_name,commission_pct,IF(commission_pct IS NULL,'奖金','有奖金') AS 备注
FROM employees;
#2.case 函数的使用:switch 的效果
/*
案例:查询员工的工资,要求
部门号=30,显示的工资为1.1倍;
部门号=40,显示的工资为1.2倍;
部门号=50,显示的工资为1.3倍;
其他部门,显示为原来工资;
*/
SELECT salary AS 原工资,department_id,
CASE department_id
WHEN 30 THEN salary*1.1
WHEN 40 THEN salary*1.2
WHEN 50 THEN salary*1.3
ELSE salary
END AS 新工资
FROM employees;
#3.case 函数的使用2:类似于多重if
/*
案例:查询员工的工资情况
如果工资>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 AS 工资等级
FROM employees;
MySql---常用控制函数
最新推荐文章于 2023-12-27 09:38:30 发布