if();
IF(expr1,expr2,expr3) !!!!!!!!!!!!!
e1 表示的是我们要判断的表达式
e2 是e1判断正确后的返回值
e3 是e1判断错误后的返回值
select IF(10<5,'大于','小于');
-----------------------------------------------
MySQl 里:
case 要判断的字段或者表达式
when 常量1 then 要显示的值1 或者是 语句1;
when 常量2 then 要显示的值2 或者是 语句2;
...
else 要现实的值n 或者是 语句n;
需求:查询员工的工资,要求:
部门号=30,显示的工资是原工资的1.1倍
部门号=40,显示的工资是原工资的1.2倍
部门号=50,显示的工资是原工资的1.3倍
其他的部门,显示的工资是原工资
select salary 原始工资,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;
需求:查询员工的工资情况
如果工资>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;