Employee Bonus

easy database sql

Problem

Employee(empId, name, supervisor, salary) and Bonus(empId, bonus). Return name and bonus where bonus < 1000 or no bonus row exists.

Inputemp=[(3,'B',null,250000),(1,'P',3,10000)] bonus=[(2,500),(7,7000)]
Output[('P',null),('B',null)]
Anyone without a bonus row passes via NULL.

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;
Time: O(n) Space: O(n)