IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機(jī)版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當(dāng)前所在位置: 首頁數(shù)據(jù)庫Oracle → oracle進(jìn)行簡(jiǎn)單樹查詢(遞歸查詢)

oracle進(jìn)行簡(jiǎn)單樹查詢(遞歸查詢)

時(shí)間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評(píng)論(4)

表結(jié)構(gòu)
DEPTID

PAREDEPTID

NAME
NUMBERNUMBERCHAR (40 Byte)
部門id父部門id(所屬部門id)部門名稱

  通過子節(jié)點(diǎn)向根節(jié)點(diǎn)追朔.

  Sql代碼

  select * from persons.dept start with deptid=76 connect by prior paredeptid=deptid

  通過根節(jié)點(diǎn)遍歷子節(jié)點(diǎn).

  Sql代碼

  select * from persons.dept start with paredeptid=0 connect by prior deptid=paredeptid

  可通過level 關(guān)鍵字查詢所在層次.

  Sql代碼

  select a.*,level from persons.dept a start with paredeptid=0 connect by prior deptid=paredeptid

  備注:

  start with ...connect by 的用法, start with 后面所跟的就是就是遞歸的種子。

  遞歸的種子也就是遞歸開始的地方 connect by 后面的"prior" 如果缺?。簞t只能查詢到符合條件的起始行,并不進(jìn)行遞歸查詢;

  connect by prior 后面所放的字段是有關(guān)系的,它指明了查詢的方向。

  練習(xí): 通過子節(jié)點(diǎn)獲得頂節(jié)點(diǎn)

  Sql代碼

  select FIRST_VALUE(deptid) OVER (ORDER BY LEVEL DESC ROWS UNBOUNDED PRECEDING) AS firstdeptid from persons.dept start with deptid=76 connect by prior paredeptid=deptid

關(guān)鍵詞標(biāo)簽:oracle,遞歸查詢

相關(guān)閱讀

文章評(píng)論
發(fā)表評(píng)論

熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實(shí)例的控制文件 誤刪Oracle數(shù)據(jù)庫實(shí)例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索 為UNIX服務(wù)器設(shè)置Oracle全文檢索

相關(guān)下載

    人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法