Якщо таблиця містить ієрархічні дані (дані, які можуть бути згруповані в рівні з розміщенням батьківських даних на більш високих, а дочірніх — на нижчих рівнях), можна використовувати підтримувані Oracle ієрархічні запити. В ієрархічних запитах зазвичай застосовуються такі конструкції:
START WITH, яка позначає кореневий рядок чи рядки ієрархічного відношення;
CONNECT BY, яка задає відносини між батьківськими та дочірніми рядками разом з операцією PRIOR, яка завжди вказує на батьківський рядок.
У лістингу нижче наведено приклад ієрархічного відношення між стовпцями співробітників та менеджерів.
Конструкція CONNECT BY вказує, як має виглядати це ставлення, а конструкція START WITH — з якого місця оператору слід починати відстежувати ієрархію.
select employee_id, last_name, manager_id, level, level-1 pathlen, sys_connect_by_path(last_name, '/') path from employees start with manager_id = 100 connect by prior employee_id = manager_id order by 4;