Abfrage - Die gesamte Baumstruktur :
SELECT *
FROM Employee
START WITH ParentID IS NULL
CONNECT BY PRIOR ID = ParentID
ORDER SIBLINGS BY LastName, FirstName, ID;
Abfrage - Die Kinder eines bestimmten Mitarbeiters :
Dazu benötigen Sie keine hierarchische Abfrage.
(Der Elternteil wird durch die Bind-Variable :parent_id
angegeben )
SELECT *
FROM Employee
WHERE ParentID = :parent_id
ORDER BY LastName, FirstName, ID;
Abfrage - Die Nachkommen eines bestimmten Mitarbeiters :
Dieselbe Abfrage wie für den gesamten Baum, aber mit einem anderen Startpunkt
(Der Elternteil wird durch die Bind-Variable :parent_id
angegeben )
SELECT *
FROM Employee
START WITH ParentID = :parent_id
CONNECT BY PRIOR ID = ParentID
ORDER SIBLINGS BY LastName, FirstName, ID;
Abfrage – Der Mitarbeiter und seine Vorfahren :
Ähnlich wie die vorherige Abfrage, aber mit dem CONNECT BY
umgekehrt und Sie müssen die Geschwister nicht ordnen, da es nur einen unmittelbaren Vorgesetzten pro Mitarbeiter gibt.
(Der Mitarbeiter wird durch die Bindungsvariable :employee_id
angegeben )
SELECT *
FROM Employee
START WITH ID = :employee_id
CONNECT BY PRIOR ParentID = ID;
Abfrage – Der Vorgesetzte des Mitarbeiters :
Identisch mit der vorherigen Abfrage, aber mit einem Filter LEVEL = 2
um nur die unmittelbar übergeordnete Zeile zu erhalten.
(Der Mitarbeiter wird durch die Bindungsvariable :employee_id
angegeben )
SELECT e.*
FROM Employee e
WHERE LEVEL = 2
START WITH ID = :employee_id
CONNECT BY PRIOR ParentID = ID;