L'ultima condizione non si applica ai tuoi dati, ma è molto importante evitare la ricorsione infinita.
Per illustrare questo punto, considera cosa accadrebbe se aggiungessi un'altra riga alla tabella:
E40 E40
Se inizi con E40 invece di E90 , Oracle girerebbe in una ricorsione infinita senza EMP_ID != MANAGER_ID condizione, perché E40 si ricollegherebbe a E40 .
Nota che un approccio migliore per scrivere questa query consiste nell'usare NOCYCLE opzione invece di codificare in un controllo esplicito:
SELECT *
FROM Temp
START WITH EMP_ID = 'E90'
CONNECT BY NOCYCLE PRIOR EMP_ID = MANAGER_ID
ORDER BY EMP_ID