Query - De hele boomstructuur :
SELECT *
FROM Employee
START WITH ParentID IS NULL
CONNECT BY PRIOR ID = ParentID
ORDER SIBLINGS BY LastName, FirstName, ID;
Query - De kinderen van een bepaalde werknemer :
U hebt hiervoor geen hiërarchische query nodig.
(De ouder wordt gegeven door de bindvariabele :parent_id
)
SELECT *
FROM Employee
WHERE ParentID = :parent_id
ORDER BY LastName, FirstName, ID;
Query - De nakomelingen van een bepaalde werknemer :
Dezelfde query als voor de hele boom, maar met een ander startpunt
(De ouder wordt gegeven door de bindvariabele :parent_id
)
SELECT *
FROM Employee
START WITH ParentID = :parent_id
CONNECT BY PRIOR ID = ParentID
ORDER SIBLINGS BY LastName, FirstName, ID;
Query - De werknemer en hun voorouders :
Gelijk aan de vorige zoekopdracht, maar met de CONNECT BY
omgekeerd en u hoeft de broers en zussen niet te bestellen, aangezien er slechts één directe manager per werknemer is.
(De werknemer wordt gegeven door de bindvariabele :employee_id
)
SELECT *
FROM Employee
START WITH ID = :employee_id
CONNECT BY PRIOR ParentID = ID;
Query - De manager van de werknemer :
Identiek aan de vorige zoekopdracht maar met een filter LEVEL = 2
om gewoon de directe bovenliggende rij te krijgen.
(De werknemer wordt gegeven door de bindvariabele :employee_id
)
SELECT e.*
FROM Employee e
WHERE LEVEL = 2
START WITH ID = :employee_id
CONNECT BY PRIOR ParentID = ID;