В Oracle это будет обрабатываться наиболее элегантно с помощью рекурсивных функций, доступных через функцию "CONNECT BY PRIOR". Как вы указали, вы работаете за пределами Oracle, вы должны дважды присвоить псевдониму таблицу. Кроме того, вы не указали, возможно ли, чтобы у менеджера не было сотрудников, или у сотрудника не было менеджера - в любом из этих случаев вам необходимо учитывать условие «ВНЕШНЕЕ СОЕДИНЕНИЕ». Ниже приведен код для простого случая: у каждого сотрудника есть менеджер, а у каждого менеджера есть сотрудники:
Select m.lastname manager_last,
m.firstname manager_first,
e.lastname employee_last, e.firstname employee_first
from employee_list e, employee_list m
where e.reports_to = m.employee_number
order by m.lastname, m.firstname, e.lastname, e.firstname