This Leetcode problem Employee Bonus LeetCode Solution is done in SQL.
List of all LeetCode Solution
![Employee Bonus LeetCode Solution](https://i0.wp.com/totheinnovation.com/wp-content/uploads/2024/02/LeetCode-Problem-Solution.png?resize=200%2C200&ssl=1)
Employee Bonus LeetCode Solution
Table of Contents
Problem Statement
Column Name | Type |
empId | int |
name | varchar |
supervisor | int |
salary | int |
Employee
empId is the column with unique values for this table. Each row of this table indicates the name and the ID of an employee in addition to their salary and the id of their manager.
Column Name | Type |
empId | int |
bonus | int |
Bonus
empId is the column of unique values for this table. empId is a foreign key (reference column) to empId from the Employee table. Each row of this table contains the id of an employee and their respective bonus.
Write a solution to report the name and bonus amount of each employee with a bonus less than 1000
.
Return the result table in any order.
The result format is in the following example.
Example 1:
Input:
empId | name | supervisor | salary |
3 | Brad | null | 4000 |
1 | John | 3 | 1000 |
2 | Dan | 3 | 2000 |
3 | Thomas | 3 | 4000 |
empId | bonus |
2 | 500 |
4 | 2000 |
Output:
name | bonus |
Brad | null |
John | null |
Dan | 500 |
Employee Bonus LeetCode Solution MySQL
select
name,
bonus
from
Employee as e
left join Bonus as b on e.empId = b.empId
where
bonus < 1000
or bonus is null;
Code language: SQL (Structured Query Language) (sql)
Employee Bonus LeetCode Solution Pandas
import pandas as pd
def employee_bonus(employee: pd.DataFrame, bonus: pd.DataFrame) -> pd.DataFrame:
# Merge Employee and Bonus tables using a left join
result_df = pd.merge(employee, bonus, on='empId', how='left')
# Filter rows where bonus is less than 1000 or missing
result_df = result_df[(result_df['bonus'] < 1000) | result_df['bonus'].isnull()]
# Select "name" and "bonus" columns
result_df = result_df[['name', 'bonus']]
return result_df
Code language: SQL (Structured Query Language) (sql)