MySQL高阶1873-计算特殊奖金

目录

题目

准备数据

分析数据

总结


题目

编写解决方案,计算每个雇员的奖金。如果一个雇员的 id 是 奇数 并且他的名字不是以 'M' 开头 ,那么他的奖金是他工资的 100% ,否则奖金为 0

返回的结果按照 employee_id 排序。

准备数据

sql 复制代码
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');

分析数据

sql 复制代码
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

%:匹配多个字符,

?:匹配一个字符

相关推荐
yddddddy几秒前
Django在项目中的作用
数据库·python·django
TDengine (老段)2 分钟前
TDengine COLS 函数用户手册
大数据·数据库·物联网·时序数据库·iot·tdengine
q***31144 分钟前
使用 Qt 插件和 SQLCipher 实现 SQLite 数据库加密与解密
数据库·qt·sqlite
x***44017 分钟前
远程访问mysql数据库的正确打开方式
数据库·mysql
p***43489 分钟前
后端在消息系统中的顺序保证
数据库·数据仓库·docker
e***28299 分钟前
【细如狗】记录一次使用MySQL的Binlog进行数据回滚的完整流程
android·数据库·mysql
想不明白的过度思考者13 分钟前
数据库基础与MySQL核心组件解析
数据库·mysql·oracle
卿雪15 分钟前
MySQL【索引】篇:索引的分类、B+树、创建索引的原则、索引失效的情况...
java·开发语言·数据结构·数据库·b树·mysql·golang