xinyu04

导航

SQL 1873 Calculate Special Bonus

Table: Employees

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| employee_id | int     |
| name        | varchar |
| salary      | int     |
+-------------+---------+

employee_id is the primary key for this table.
Each row of this table indicates the employee ID, employee name, and salary.

Write an SQL query to calculate the bonus of each employee. The bonus of an employee is 100% of their salary if the ID of the employee is an odd number and the employee name does not start with the character 'M'. The bonus of an employee is 0 otherwise.

Return the result table ordered by employee_id.

Solution

第一点需要按照 \(id\) 排序,用\(ORDER\ BY\)

对于判断条件,我们用 \(IF\) ,当条件为真时,为表达式2;否则为表达式3

点击查看代码
# Write your MySQL query statement below
SELECT employee_id,
IF (employee_id%2 AND name NOT LIKE "M%", salary, 0) AS bonus
FROM Employees 
ORDER BY employee_id;

posted on 2022-09-13 03:46  Blackzxy  阅读(58)  评论(0编辑  收藏  举报