Bono de empleados
Escribe una solución para reportar el nombre y el bono de cada empleado con bono menor a 1000. Regresa el resultado en cualquier orden.
Tabla: Employee
+-------------+---------+
| Column Name | Type |
+-------------+---------+
| empId | int |
| name | varchar |
| supervisor | int |
| salary | int |
+-------------+---------+
- empId es una columna con valores únicos.
- Cada fila indica el nombre, el ID del empleado, su salario, y el ID de su gerente.
Tabla: Bonus
+-------------+------+
| Column Name | Type |
+-------------+------+
| empId | int |
| bonus | int |
+-------------+------+
- empId es una columna con valores únicos.
- empId es una llave foranea (columna de referencia) hacia el empId de la tabla Employee.
- Cada fila contiene el ID de un empleado y su respectivo bono.
El formato del resultado se muestra en el siguiente ejemplo.
Ejemplo 1:
Entrada:
Tabla Employee:
+-------+--------+------------+--------+
| empId | name | supervisor | salary |
+-------+--------+------------+--------+
| 3 | Brad | null | 4000 |
| 1 | John | 3 | 1000 |
| 2 | Dan | 3 | 2000 |
| 4 | Thomas | 3 | 4000 |
+-------+--------+------------+--------+
Tabla Bonus:
+-------+-------+
| empId | bonus |
+-------+-------+
| 2 | 500 |
| 4 | 2000 |
+-------+-------+
Salida:
+------+-------+
| name | bonus |
+------+-------+
| Brad | null |
| John | null |
| Dan | 500 |
+------+-------+
Solución:
SELECT e.name, b.bonus
FROM employee e
LEFT JOIN bonus b
ON e.empId = b.empId
WHERE ifnull(b.bonus, 0) < 1000;