577. Employee Bonus
Problem Statement
Table: Employee
Column Name | Type |
---|---|
empId | int |
name | varchar |
supervisor | int |
salary | int |
empId
is the primary key column 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.
Table: Bonus
Column Name | Type |
---|---|
empId | int |
bonus | int |
empId
is the primary key column for this table.
empId
has a foreign key reference to theempId
column of theEmployee
table.Each row of this table contains the id of an employee and their respective bonus.
Instructions
- Write a solution to report the name and bonus amount of each employee with a bonus less than
. - Return the result table in any order.
- The result format is in the following example.
Example
Input: Employee
table
empId | name | supervisor | salary |
---|---|---|---|
3 | Brad | null | 4000 |
1 | John | 3 | 1000 |
2 | Dan | 3 | 2000 |
4 | Thomas | 3 | 4000 |
Input: Bonus
table
empId | bonus |
---|---|
2 | 500 |
4 | 2000 |
Output:
name | bonus |
---|---|
Brad | null |
John | null |
Dan | 500 |
Submissions
sql
SELECT
e.name,
b.bonus
FROM
Employee e
LEFT JOIN
Bonus b ON e.empId = b.empId
WHERE
b.bonus < 1000 OR b.bonus IS NULL;
Explanations
PostgreSQL
Submitted by @noeyislearning
SELECT e.name, b.bonus
: Select thename
andbonus
from theEmployee
andBonus
tables.FROM Employee e
: Select theEmployee
table and alias it ase
.LEFT JOIN Bonus b ON e.empId = b.empId
: Join theBonus
table with theEmployee
table on theempId
column.WHERE b.bonus < 1000 OR b.bonus IS NULL
: Filter the rows where thebonus
is less thanor NULL
.