क्वेरी - संपूर्ण वृक्ष संरचना :
SELECT *
FROM Employee
START WITH ParentID IS NULL
CONNECT BY PRIOR ID = ParentID
ORDER SIBLINGS BY LastName, FirstName, ID;
प्रश्न - किसी कर्मचारी के बच्चे :
इसके लिए आपको एक पदानुक्रमित क्वेरी की आवश्यकता नहीं है।
(पैरेंट को बाइंड वेरिएबल :parent_id
द्वारा दिया गया है। )
SELECT *
FROM Employee
WHERE ParentID = :parent_id
ORDER BY LastName, FirstName, ID;
क्वेरी - किसी दिए गए कर्मचारी के वंशज :
पूरे पेड़ के लिए एक ही क्वेरी लेकिन एक अलग प्रारंभ बिंदु के साथ
(माता-पिता को बाइंड वैरिएबल :parent_id
द्वारा दिया गया है )
SELECT *
FROM Employee
START WITH ParentID = :parent_id
CONNECT BY PRIOR ID = ParentID
ORDER SIBLINGS BY LastName, FirstName, ID;
प्रश्न - कर्मचारी और उनके पूर्वज :
पिछली क्वेरी के समान लेकिन CONNECT BY
. के साथ उलट दिया गया है और आपको भाई-बहनों को आदेश देने की आवश्यकता नहीं होगी क्योंकि प्रति कर्मचारी केवल एक तत्काल प्रबंधक होगा।
(कर्मचारी को बाइंड वेरिएबल :employee_id
द्वारा दिया जाता है। )
SELECT *
FROM Employee
START WITH ID = :employee_id
CONNECT BY PRIOR ParentID = ID;
प्रश्न - कर्मचारी का प्रबंधक :
पिछली क्वेरी के समान लेकिन फ़िल्टर के साथ LEVEL = 2
तत्काल मूल पंक्ति प्राप्त करने के लिए।
(कर्मचारी को बाइंड वेरिएबल :employee_id
द्वारा दिया जाता है। )
SELECT e.*
FROM Employee e
WHERE LEVEL = 2
START WITH ID = :employee_id
CONNECT BY PRIOR ParentID = ID;