Last updated on August 3rd, 2024 at 11:48 pm
This Leetcode problem Employee Bonus LeetCode Solution is done in SQL.
List of all LeetCode Solution
Level of Question
Easy
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 |
1. 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;
2. 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