oracle層次查詢語(yǔ)句

   Oracle中層次查詢語(yǔ)法:

公司主營(yíng)業(yè)務(wù):做網(wǎng)站、成都網(wǎng)站建設(shè)、移動(dòng)網(wǎng)站開發(fā)等業(yè)務(wù)。幫助企業(yè)客戶真正實(shí)現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競(jìng)爭(zhēng)能力。創(chuàng)新互聯(lián)是一支青春激揚(yáng)、勤奮敬業(yè)、活力青春激揚(yáng)、勤奮敬業(yè)、活力澎湃、和諧高效的團(tuán)隊(duì)。公司秉承以“開放、自由、嚴(yán)謹(jǐn)、自律”為核心的企業(yè)文化,感謝他們對(duì)我們的高要求,感謝他們從不同領(lǐng)域給我們帶來(lái)的挑戰(zhàn),讓我們激情的團(tuán)隊(duì)有機(jī)會(huì)用頭腦與智慧不斷的給客戶帶來(lái)驚喜。創(chuàng)新互聯(lián)推出新津縣免費(fèi)做網(wǎng)站回饋大家。

     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 :說明每行數(shù)據(jù)將是按層次順序檢索,并規(guī)定將表中的數(shù)據(jù)連入樹形結(jié)構(gòu)的關(guān)系中。prior運(yùn)算符必須放置在連接關(guān)系的兩列中某一個(gè)的前面,對(duì)于子節(jié)點(diǎn)間的父子關(guān)系,prior運(yùn)算符所在的一側(cè)為父節(jié)點(diǎn),另一側(cè)的為子節(jié)點(diǎn),從而確定查找樹形結(jié)構(gòu)的順序是自頂向下還是自底向上。

start with:用于標(biāo)識(shí)哪個(gè)節(jié)點(diǎn)作為查找樹形結(jié)構(gòu)的根節(jié)點(diǎn),層次查詢需要確定起始點(diǎn),通過start with,后加條件。start with將確定將哪行作為root,如果不指定start with,則每行都當(dāng)做root,然后查找其后代。start with后可以跟子查詢,如果又where條件,則會(huì)截?cái)鄬哟沃袧M足相關(guān)條件的節(jié)點(diǎn),但不影響整個(gè)層次查詢。

level:是一個(gè)偽列,代表當(dāng)前這個(gè)節(jié)點(diǎn)所在的層級(jí),對(duì)于根節(jié)點(diǎn),level返回1,通過這個(gè)偽列結(jié)合其他oracle函數(shù)進(jìn)行數(shù)據(jù)的格式化顯示。

connect_by_root:connect_by_root必須和某個(gè)字段搭配使用,目的是獲取根節(jié)點(diǎn)記錄的字段信息。

connect_by_isleaf:判斷當(dāng)前結(jié)點(diǎn)是否為葉子節(jié)點(diǎn),0表示非葉子節(jié)點(diǎn),1表示是葉子節(jié)點(diǎn)。

connect_by_cycle:可以檢查是否在樹形查詢的過程中構(gòu)成循環(huán),這個(gè)偽列只是在connect_by_cycle方式下有效。

order siblings by:定義返回時(shí)同意父節(jié)點(diǎn)下的各個(gè)兄弟節(jié)點(diǎn)之間的順序。

例子:

--樹形結(jié)構(gòu)表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
--從根節(jié)點(diǎn)emp_id=1開始,自頂向下查詢出根節(jié)點(diǎn)的所有子節(jié)點(diǎn)
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的所有父節(jié)點(diǎn)
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

網(wǎng)站題目:oracle層次查詢語(yǔ)句
分享地址:http://bm7419.com/article0/gihsoo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、移動(dòng)網(wǎng)站建設(shè)商城網(wǎng)站、靜態(tài)網(wǎng)站ChatGPT、服務(wù)器托管

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司