Forespørgsel – hele træstrukturen :
SELECT *
FROM Employee
START WITH ParentID IS NULL
CONNECT BY PRIOR ID = ParentID
ORDER SIBLINGS BY LastName, FirstName, ID;
Forespørgsel – børnene af en given medarbejder :
Du behøver ikke en hierarkisk forespørgsel til dette.
(Overordnet er givet af bindevariablen :parent_id
)
SELECT *
FROM Employee
WHERE ParentID = :parent_id
ORDER BY LastName, FirstName, ID;
Forespørgsel – efterkommerne af en given medarbejder :
Den samme forespørgsel som for hele træet, men med et andet startpunkt
(Forælderen er givet af bindevariablen :parent_id
)
SELECT *
FROM Employee
START WITH ParentID = :parent_id
CONNECT BY PRIOR ID = ParentID
ORDER SIBLINGS BY LastName, FirstName, ID;
Forespørgsel – medarbejderen og deres forfædre :
Svarende til den forrige forespørgsel, men med CONNECT BY
vendt, og du behøver ikke bestille søskende, da der kun vil være én nærmeste leder pr. medarbejder.
(Medarbejderen er givet af bindevariablen :employee_id
)
SELECT *
FROM Employee
START WITH ID = :employee_id
CONNECT BY PRIOR ParentID = ID;
Forespørgsel - Medarbejderens leder :
Identisk med den forrige forespørgsel, men med et filter LEVEL = 2
for bare at få den umiddelbare overordnede række.
(Medarbejderen er givet af bindevariablen :employee_id
)
SELECT e.*
FROM Employee e
WHERE LEVEL = 2
START WITH ID = :employee_id
CONNECT BY PRIOR ParentID = ID;