员工奖金

🎯 问题描述(来源于LeetCode)

表:Employee 
±------------±--------+
| Column Name | Type |
±------------±--------+
| empId | int |
| name | varchar |
| supervisor | int |
| salary | int |
±------------±--------+
empId 是该表中具有唯一值的列。
该表的每一行都表示员工的 id 和姓名,以及他们经理的 id 和他们的工资。
表:Bonus
±------------±-----+
| Column Name | Type |
±------------±-----+
| empId | int |
| bonus | int |
±------------±-----+
empId 是该表具有唯一值的列。
empId 是 Employee 表中 empId 的外键(reference 列)。
该表的每一行都包含一个员工的 id 和他们各自的奖金。
编写一个解决方案来报告满足以下任一条件的每个员工的姓名和奖金金额:

  • 奖金 少于 1000 的员工。
  • 没有任何奖金的员工。
    以 任意顺序 返回结果表。

💻 代码实现

1
2
3
4
5
6
# Write your MySQL query statement below
SELECT t1.name,t2.bonus
FROM Employee t1
LEFT JOIN Bonus t2
ON t1.empId=t2.empId
WHERE t2.bonus<1000 or t2.bonus is null

📊 性能分析

提交结果

  • 运行时间:1422ms击败66.45%