亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

oracle 層次查詢語句

發布時間:2020-10-02 18:22:37 來源:網絡 閱讀:967 作者:天黑順路 欄目:關系型數據庫

   Oracle中層次查詢語法:

     select  ...

     [level | connect_by_root |connect_by_isleaf |connect_by_iscycle ]

     from table_name

     [where] 

     connect by { prior col1=col2 | col1=prior col2 }

    [start with]

    [order [siblings] by];

connect by :說明每行數據將是按層次順序檢索,并規定將表中的數據連入樹形結構的關系中。prior運算符必須放置在連接關系的兩列中某一個的前面,對于子節點間的父子關系,prior運算符所在的一側為父節點,另一側的為子節點,從而確定查找樹形結構的順序是自頂向下還是自底向上。

start with:用于標識哪個節點作為查找樹形結構的根節點,層次查詢需要確定起始點,通過start with,后加條件。start with將確定將哪行作為root,如果不指定start with,則每行都當做root,然后查找其后代。start with后可以跟子查詢,如果又where條件,則會截斷層次中滿足相關條件的節點,但不影響整個層次查詢。

level:是一個偽列,代表當前這個節點所在的層級,對于根節點,level返回1,通過這個偽列結合其他oracle函數進行數據的格式化顯示。

connect_by_root:connect_by_root必須和某個字段搭配使用,目的是獲取根節點記錄的字段信息。

connect_by_isleaf:判斷當前結點是否為葉子節點,0表示非葉子節點,1表示是葉子節點。

connect_by_cycle:可以檢查是否在樹形查詢的過程中構成循環,這個偽列只是在connect_by_cycle方式下有效。

order siblings by:定義返回時同意父節點下的各個兄弟節點之間的順序。


例子:

--樹形結構表emp;
select * from emp;
EMP_ID              EMP_NAME              UP_EMP_ID    
---------            ---------------         ---------------  
1              USER1              0         
2              USER2              1
3              USER3              1 
4              USER4              2
5              USER5              2
6              USER6              3
--從根節點emp_id=1開始,自頂向下查詢出根節點的所有子節點
select  emp_id,emp_name,up_emp_id,level
from emp
start with emp_id=1
connect by prior emp_id=up_emp_id
order siblings by emp_id;
EMP_ID                EMP_NAME           UP_EMP_ID                        LEVEL
---------              ---------------      ---------------                    --------
1               USER1            0                       1
2               USER2            1                       2
4               USER4            2                       3
5               USER5            2                       3
3               USER3            1                       2
6               USER6            3                       3
--從emp_id=6,自底向上查詢emp_id=6的所有父節點
select emp_id,emp_name,up_emp_id 
from  emp
start with emp_id=6
connect by emp_id = prior up_emp_id
order by  emp_id;
EMP_ID              EMP_NAME             UP_EMP_ID    
---------            ---------------        ---------------  
1              USER1             0
3              USER3             1
6              USER6             3


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平谷区| 康马县| 彭泽县| 三穗县| 苍梧县| 伊宁县| 陆川县| 盐山县| 阜新| 许昌县| 扬中市| 门头沟区| 荔浦县| 政和县| 惠水县| 新营市| 罗田县| 堆龙德庆县| 江山市| 内江市| 类乌齐县| 隆德县| 泽州县| 石林| 华坪县| 来宾市| 翁源县| 泸州市| 谷城县| 潍坊市| 五原县| 建水县| 铜陵市| 商洛市| 金寨县| 白银市| 双流县| 宝清县| 灵武市| 柳河县| 浦城县|