晚上好,我需要幫助,試圖從我的一個層次表(紅色圓圈)中檢索中層管理者,他們不是根節點,也不是葉節點。分層查詢(如何檢索中間節點)
層次結構圖/數據
我能夠用我的查詢
select level, first_name ||' '|| last_name "FullName"
from more_employees
where employee_id not in (select NVL(manager_id, 0) from more_employees)
start with employee_id = 1
CONNECT by prior employee_id = manager_id;
檢索所有葉子節點
我敢肯定,我應該使用關鍵字「in」在我的where子句中,但不斷得到不同的結果。
只是好奇。你爲什麼認爲它比子選擇速度更快? –
@ValentinKuzub:因爲只需要對錶格進行一次訪問。子選擇會導致對同一個表的兩個查詢(我在談論問題中的原始查詢以獲取所有葉子,而不是您的答案) –
謝謝,我會牢記這一點。 –