Самым простым подходом, вероятно, было бы создание самостоятельного объединения
SELECT employee.employeeId,
employee.managerId
FROM table_name mgr,
table_name subordinate,
table_name employee
WHERE mgr.managerId = subordinate.employeeId
AND subordinate.managerId = employee.managerId
AND mgr.employeeId = 'Bob'
Однако было бы более эффективным и более общим построить иерархический запрос. Что-то вроде
SELECT *
FROM (SELECT employeeId, managerId, level lvl
FROM table_name
START WITH employeeId = 'Bob'
CONNECT BY prior employeeId = managerId)
WHERE lvl = 3
Очевидно, было бы намного проще изменить последний запрос, чтобы изменить, хотите ли вы прямые отчеты или отчеты второго уровня или какой-либо другой уровень иерархии. И это, как правило, будет более эффективным.