oracle 樹查詢 根據上級查詢所有下級,根據下級查詢相關上級數據

圖例:假設已經知道安徽省的id爲 1218  ,我想查詢安徽省下面所有相關信息  

----1218 安徽省

----1220  合肥市

----1226   1224  美容店


oracle  sql  這樣寫

select
        * 
    from
        fht_enterprise  start with id = 1218 connect 
    by
        prior id =  parentid

即可查詢到數據如下



這個是根據上級查詢下級 ,其實我們也可以根據下級查詢相關的上級數據

start with 子句:遍歷起始條件,有個小技巧,如果要查父結點,這裏可以用子結點的列,反之亦然。

connect by 子句:連接條件。關鍵詞prior,prior跟父節點列parentid放在一起,就是往父結點方向遍歷;prior跟子結點列subid放在一起,則往葉子結點方向遍歷,     parentid、subid兩列誰放在“=”前都無所謂,關鍵是prior跟誰在一起。

order by 子句:排序,不用多說。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章