Коренният възел в крайната йерархия трябва винаги да е известен. Съгласно дефиницията:http://en.wikipedia .org/wiki/Tree_structure основният възел е възел, който няма родители. За да проверите дали даден възел е основен възел, вземете "parent_id" и проверете в таблицата дали съществува запис с този идентификатор. Заявката може да изглежда така:
SELECT id,parent_id,
CONNECT_BY_ISLEAF leaf,
LEVEL,
SYS_CONNECT_BY_PATH(id, '/') Path,
SYS_CONNECT_BY_PATH(parent_id, '/') Parent_Path
FROM tree_hierarchy th
WHERE CONNECT_BY_ISLEAF<>0
CONNECT BY PRIOR id = PARENT_id
START WITH not exists (
select 1 from tree_hierarchy th1
where th1.id = th.parent_id
)
ORDER SIBLINGS BY ID;