oracle中sql的遞迴查詢運用

2022-05-25 01:00:12 字數 721 閱讀 4812

當表自查詢的時候,就基本會用到遞迴的查詢

比如乙個員工表

主鍵             名字               職位         上級id                  部門id

id            name             zhiwei           sid                    y100

1000        張三                經理               0                    y100

1001          李四              組長              1000              y100

1002          王五              員工              1001               y100

1003         趙六               員工             1001                y100

像這張表就會用到自查詢,

有自查詢的表的話,基本會用到遞迴查詢

比如我要查詢部門id為「y100」的,張三經理帶領的這個團隊底下所有的員工.

select * from employees t start with t.id='1000'

connect by prior t.id = t.sid

Oracle中的遞迴查詢

我們假設有如下一張機構表 org 字段型別 欄位名稱 字段描述 number 16 id 機構id number 16 parent id 父機構id varchar2 100 name 機構名稱 number 1 enable 是否啟用,1表示啟用,0表示停用 表中有如下幾行資料 id paren...

oracle中的遞迴查詢

oracle遞迴查詢 oracle中start by prior子句用法 connect by 是結構化查詢中用到的,其基本語法是 select from tablename start with 條件1 connect by 條件2 where 條件3 例 select from table st...

Oracle中遞迴查詢

表結構示例 示例資料 oracle當中的 connect by 是層次查詢子句,一般用於樹狀或者層次結果集的查詢。例如家族關係 組織管理等層次關係。每行資料都是按層次順序檢索,並規定將表中的資料連入樹形結構的關係中。select a.level,connect by isleaf from node...