Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Wie man die Mitarbeiter zu ihren Vorgesetzten bringt

Dies ist ein klassischer Self-Join, versuchen Sie Folgendes:

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

Und wenn Sie den Präsidenten einbeziehen möchten, der keinen Manager hat, dann statt eines inneren beitreten verwenden Sie ein äußeres join in Oracle-Syntax:

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

Oder in ANSI-SQL-Syntax:

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