sql >> Base de Datos >  >> RDS >> Oracle

Cómo conseguir que los empleados con sus jefes

Esta es una autounión clásica, prueba lo siguiente:

SELECT e.ename, e.empno, m.ename as manager, e.mgr
FROM
    emp e, emp m
WHERE e.mgr = m.empno

Y si desea incluir al presidente que no tiene gerente, en lugar de un interno únete usa un externo unirse a la sintaxis de Oracle:

SELECT e.ename, e.empno, m.ename as manager, e.mgr
FROM
    emp e, emp m
WHERE e.mgr = m.empno(+)

O en sintaxis ANSI SQL:

SELECT e.ename, e.empno, m.ename as manager, e.mgr
FROM
    emp e
    LEFT OUTER JOIN emp m
        ON e.mgr = m.empno