mysql 中 if 、left、mod语句的使用(计算特殊奖金Mysql)

Mysql三种简单语句

语法结构:

IF(条件,T1,F2)

用法:条件表达式得到不同的结果,当 条件为真时返回 T1 的值,否则返回 F2.

语法结构:

Left(字符串,位序)

用法:当位序位N时,输出字符串第N个字符.

语法结构:

Mod(被求余数,求余数)

用法:Mod(5,3)等价于5%3

例题:

示例 1:(来源力扣)

写出一个SQL 查询语句,计算每个雇员的奖金。如果一个雇员的id是奇数并且他的名字不是以'M'开头,那么他的奖金是他工资的100%,否则奖金为0,返回的结果集请按照employee_id排序。

输入:
Employees 表:
+-------------+---------+--------+
| employee_id | name    | salary |
+-------------+---------+--------+
| 2           | Meir    | 3000   |
| 3           | Michael | 3800   |
| 7           | Addilyn | 7400   |
| 8           | Juan    | 6100   |
| 9           | Kannon  | 7700   |
+-------------+---------+--------+
输出:
+-------------+-------+
| employee_id | bonus |
+-------------+-------+
| 2           | 0     |
| 3           | 0     |
| 7           | 7400  |
| 8           | 0     |
| 9           | 7700  |
+-------------+-------+
解题代码:

select employee_id,
if(mod(employee_id,2)<>0 and name not like 'M%',salary,0) as bonus
from employees
order by employee_id


 

猜你喜欢

转载自blog.csdn.net/zsl20200217/article/details/126296275