圖例:假設已經知道安徽省的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 子句:排序,不用多說。