MySQL高阶1873-计算特殊奖金
目录
题目
准备数据
分析数据
总结
题目
编写解决方案,计算每个雇员的奖金。如果一个雇员的 id 是 奇数 并且他的名字不是以 'M'
开头,那么他的奖金是他工资的 100%
,否则奖金为 0
。
返回的结果按照 employee_id
排序。
准备数据
Create table If Not Exists Employees (employee_id int, name varchar(30), salary int);
Truncate table Employees;
insert into Employees (employee_id, name, salary) values ('2', 'Meir', '3000');
insert into Employees (employee_id, name, salary) values ('3', 'Michael', '3800');
insert into Employees (employee_id, name, salary) values ('7', 'Addilyn', '7400');
insert into Employees (employee_id, name, salary) values ('8', 'Juan', '6100');
insert into Employees (employee_id, name, salary) values ('9', 'Kannon', '7700');
分析数据
select
employee_id,
if((employee_id % 2 = 1 and name not like 'M%'),salary,0) bonus
from employees
order by employee_id;
总结
判断奇数:num % 2 =1
模糊匹配:使用关键字like
%:匹配多个字符,
?:匹配一个字符