1、IF(expr1,expr2,expr3)
IF(expr1,expr2,expr3):作用类似于三元运算符,如果 expr1 成立,则结果为 expr2,否则为 expr3
// 案例一
SELECT IF(10 > 5,'大于','小于');
// 案例二
SELECT last_name,commission_pct,
IF(commission_pct IS NULL,'没奖金,呵呵','有奖金,哈哈')
FROM employees;
2、CASE....WHEN....ELSE....END
// 案例 1: 查询员工的工资,部门编号
// 要求:
// 部门号 = 30,显示的工资为 1.1 倍
// 部门号 = 40,显示的工资为 1.2 倍
// 部门号 = 50,显示的工资为 1.3 倍
// 其他部门,显示的工资为原工资
SELECT
salary AS 原始工资,
department_id,
CASE
WHEN department_id = 30 THEN salary * 1.1
WHEN department_id =40 THEN salary * 1.2
WHEN department_id = 50 THEN salary * 1.3
ELSE salary
END AS 新工资
FROM employees;
// 案例2:查询员工的工资的情况
// 如果工资 >20000,显示 A 级别
// 如果工资 >15000,显示 B 级别
// 如果工资 >10000,显示 C 级别
// 否则,显示 D 级别
SELECT last_name,salary,
CASE
WHEN salary > 20000 THEN 'A级别'
WHEN salary > 15000 THEN 'B级别'
WHEN salary > 10000 THEN 'C级别'
ELSE 'D级别'
END
FROM employees;