ORACLE資料庫的級聯查詢
阿新 • • 發佈:2019-02-03
背景描述
存在一張表資訊如下:
title | father |
---|---|
水果 | top |
蘋果 | 水果 |
荔枝 | 水果 |
香蕉 | 水果 |
電器 | top |
冰箱 | 電器 |
洗衣機 | 電器 |
電視 | 電器 |
西瓜 | 水果 |
資料庫儲存的資料為無序的,需求描述為按照水果--屬於水果的二級--電器--資料電器的二級方式進行資料排序
解決方案
SQL > select * from wen start with father='top' connect by prior title=father;
查詢輸出結果
水果 top
蘋果 水果
荔枝 水果
西瓜 水果
香蕉 水果
電器 top
冰箱 電器
洗衣機 電器
電視 電器
SQL解析
查詢某條資料下是否存在子節點
查詢某條資料下是否有父節點
select * //要查詢的欄位from table //具有子接點id和父接點id的表start with childid=id資料 //給定一個開始查詢的id(欄位名為子接點id,以及開始的id資料)示例:
SQL > select * from wen start with title='香蕉' connect by prior title=father;
查詢結果如下
香蕉 水果