在oracle中,“connect by”用於查找屬性結構的數據,語法為“select * from table [start with condition1] connect by [prior] id=parentid”;其中“start with condition1”用於限制第一層的數據,或叫根節點數據,根據該部分內容來找出第二層數據。
本教學操作環境:windows10系統、Oracle 12c版、Dell G3電腦。
基本語法
select * from table [start with condition1] connect by [prior] id=parentid
一般用來找出樹狀結構的資料
#start with condition1 是用來限制第一層的數據,或者叫根節點數據;以這部分數據為基礎來查找第二層數據,然後以第二層數據查找第三層數據以此類推。
connect by [prior] id=parentid 這部分是用來指明oracle在查找資料時以怎樣的一種關係去查找;比如說查找第二層的資料時用第一層資料的id去跟表裡面記錄的parentid欄位進行匹配,如果這個條件成立那麼查找出來的數據就是第二層數據,同理查找第三層第四層…等等都是按這樣去匹配。
level關鍵字,代表樹狀結構中的層級編號;第一層是數字1,第二層數字2,依序遞增。
範例如下:
select rownum from dual connect by rownum<=10;
SELECT TRUNC(SYSDATE - LEVEL) OC_DATE FROM DUAL CONNECT BY LEVEL <= 10
推薦教學:《Oracle視頻教程》
以上是oracle中connect by怎麼用的詳細內容。更多資訊請關注PHP中文網其他相關文章!