sql >> Database >  >> RDS >> Oracle

Hoe de werknemers bij hun managers te krijgen?

Dit is een klassieke self-join, probeer het volgende:

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

En als je de president wilt opnemen die geen manager heeft, dan in plaats van een innerlijke join gebruik een outer doe mee aan Oracle-syntaxis:

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

Of in ANSI SQL-syntaxis:

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


  1. Charlotte SQL Server-gebruikersgroep:langzame zoekopdrachten oplossen. Snel.

  2. MySQL *.sql-bestanden uitvoeren in PHP

  3. Een Unix-tijdstempel converteren naar een datum/tijd-waarde in PostgreSQL

  4. Zijn we klaar voor Nordic PGDay?