Sobes.tech
Senior

CREATE TABLE staff ( id TEXT name TEXT head_id TEXT ); id | name | head_id -------------------- 1 | Ivan | NULL 2 | Petr | 1 3 | Alice | 1 4 | Max | 2 5 | Alex | 2 6 | Elena | 4 7 | Bob | NULL Se espera obtener: employee_name | manager_name --------------------------- Ivan | NULL Petr | Ivan Alice | Ivan Max | Petr Alex | Petr Elena | Max Bob | NULL SELECT e.name AS employee_name, m.name AS manager_name FROM staff e LEFT JOIN staff m ON e.head_id = m.id

sobes.tech AI

Respuesta de la IA

En el ejemplo proporcionado, la consulta SQL implementa correctamente la visualización de la lista de empleados y sus supervisores desde una misma tabla staff mediante un self JOIN.

La tabla staff contiene los campos id, name y head_id, donde head_id es una referencia al id del supervisor del empleado.

Consulta:

SELECT e.name AS employee_name, m.name AS manager_name
FROM staff e
LEFT JOIN staff m ON e.head_id = m.id
  • e es un alias para los empleados.
  • m es un alias para sus gerentes.
  • LEFT JOIN garantiza que incluso los empleados sin gerente (por ejemplo, Ivan y Bob) tendrán una fila con manager_name = NULL.

De esta manera, la consulta muestra los nombres de los empleados y los nombres de sus supervisores, si los tienen, lo cual corresponde al resultado esperado.