#流程控制函数
#if函数if(条件运算符,参数二,参数三) 若条件表达式成立则执行参数二,否则执行参数三,类似三元表达式
SELECT last_name ,IF(commission_pct IS NULL,'没奖金','有奖金') FROM employees;
#case函数
#使用一:case /类似switch case
/*
case 要判断的字段或者表达式
when 常量一 then 值或者表达式
when 常量二 then 值或者表达式
when 常量三 then 值或者表达式
。。。
else 默认
end
*/
#查询员工的工资,要求部门号=30,显示工资为1.1倍,部门号为40,显示工资为1.2倍。。
SELECT last_name,department_id,salary 原始工资,
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;
#case使用二 类似于多重给if
/*
case when 条件1 then 要写成值或语句
when 条件2 then 要显示的值过语句
。。。‘
else 要显示的值或语句
end
*/
#案例:查询员工的工资情况,工资大于20000显示A,>15000 B ,>10000 C...
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流程控制函数
于 2022-01-01 17:19:16 首次发布