Oracle DatabaseHierarchical Retrieval With Oracle Database 12C

Introduction

You can use hierarchical queries to retrieve data based on a natural hierarchical relationship between rows in a table

Using the CONNECT BY Caluse

SELECT E.EMPLOYEE_ID,E.LAST_NAME,E.MANAGER_ID FROM HR.EMPLOYEES E
CONNECT BY PRIOR E.EMPLOYEE_ID = E.MANAGER_ID;

The CONNECT BY clause to define the relationship between employees and managers.

Specifying the Direction of the Query From the Top Down

SELECT E.LAST_NAME|| ' reports to ' ||
PRIOR E.LAST_NAME "Walk Top Down"  
FROM HR.EMPLOYEES E
START WITH E.MANAGER_ID IS NULL
CONNECT BY PRIOR E.EMPLOYEE_ID = E.MANAGER_ID;