自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Oracle結(jié)構(gòu)化查詢中用到的基本語(yǔ)法

數(shù)據(jù)庫(kù) Oracle
如果你在Oracle結(jié)構(gòu)化查詢中用到的基本語(yǔ)法的實(shí)際操作中,你對(duì)其的具體操作有不解之處時(shí),你可以通過以下的文章對(duì)其的實(shí)際應(yīng)用與功能有所了解。

如果你想了解connect by 是Oracle結(jié)構(gòu)化查詢中用到的基本語(yǔ)法的話,你就可以點(diǎn)擊以下的文章對(duì)其在實(shí)際相關(guān)操作中的正確用法,有一個(gè)更加完善的認(rèn)識(shí),以下就是正文的詳細(xì)內(nèi)容的介紹。

 

  1. select ... from tablename start by cond1  
  2. connect by cond2  
  3. where cond3;  

 

簡(jiǎn)單說來是將一個(gè)樹狀結(jié)構(gòu)存儲(chǔ)在一張表里,比如一個(gè)表中存在兩個(gè)字段:id,parentid那么通過表示每一條記錄的parent是誰(shuí),就可以形成一個(gè)樹狀結(jié)構(gòu)。用上述語(yǔ)法的查詢可以取得這棵樹的所有記錄。

其中COND1是根結(jié)點(diǎn)的限定語(yǔ)句,當(dāng)然可以放寬限定條件,以取得多個(gè)根結(jié)點(diǎn),實(shí)際就是多棵樹。COND2是連接條件,其中用PRIOR表示上一條記錄,比如 CONNECT BY PRIOR ID=PRAENTID就是說上一條記錄的ID是本條記錄的PRAENTID,即本記錄的父親是上一條記錄。COND3是過濾條件,用于對(duì)返回的所有記錄進(jìn)行過濾。

在connect by 是Oracle結(jié)構(gòu)化查詢中用到的PRIOR和START WITH關(guān)鍵字是可選項(xiàng)PRIORY運(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)是的順序是自頂向下還是自底向上。

在連接關(guān)系中,除了可以使用列名外,還允許使用列表達(dá)式。START WITH 子句為可選項(xiàng),用來標(biāo)識(shí)哪個(gè)節(jié)點(diǎn)作為查找樹型結(jié)構(gòu)的根節(jié)點(diǎn)。

若該子句被省略,則表示所有滿足查詢條件的行作為根節(jié)點(diǎn)。

完整的例子如

  1. SELECT PID,ID,NAME FROM T_WF_ENG_WFKIND START 
    WITH 
    PID =0 CONNECT BY PRIOR ID = PID 

以上主要是針對(duì)上層對(duì)下層的順向遞歸查詢而使用start with ... connect by prior ...這種方式,但有時(shí)在需求需要的時(shí)候,可能會(huì)需要由下層向上層的逆向遞歸查詢,此是語(yǔ)句就有所變化:例如要實(shí)現(xiàn)

  1. select * from table where id in 
    ('0','01','0101','0203','0304') ; 

現(xiàn)在想把0304的上一級(jí)03給遞歸出來,0203的上一級(jí)02給遞歸出來,而01現(xiàn)在已經(jīng)是存在的,***層為0.而這張table不僅僅這些數(shù)據(jù),但我現(xiàn)在只需要('0','01','0101','0203','0304','02','03')這些數(shù)據(jù),此時(shí)語(yǔ)句可以這樣寫

  1. SELECT PID,ID,NAME FROM V_WF_WFKIND_TREE WHERE 
    ID IN (SELECT DISTINCT(ID) ID FROM V_WF_WFKIND_TREE 
    CONNECT BY PRIOR 
    PID = ID START WITH ID IN 
    ('0','01','0101','0203','0304') ); 

 

其中START WITH ID IN里面的值也可以替換SELECT 子查詢語(yǔ)句.注意由上層向下層遞歸與下層向上層遞歸的區(qū)別在于START WITH...CONNECT BY PRIOR...的先后順序以及 ID = PID 和 PID = ID 的微小變化!

 

 

以上的相關(guān)內(nèi)容就是對(duì)connect by 是Oracle結(jié)構(gòu)化查詢中用到基本語(yǔ)法的相關(guān)內(nèi)容介紹,望你能有所收獲。 

【編輯推薦】

  1. 關(guān)閉Oracle死鎖進(jìn)程的具體操作步驟
  2. 關(guān)閉Oracle死鎖進(jìn)程的具體操作步驟
  3. Oracle實(shí)現(xiàn)跨服務(wù)器操作詳解
  4. Oracle客戶端配置安裝的實(shí)際操作步驟
  5. Oracle導(dǎo)入時(shí)需要用到兩個(gè)相關(guān)程序
責(zé)任編輯:佚名 來源: 博客園
相關(guān)推薦

2011-08-24 13:34:34

Oracle

2010-04-06 10:32:12

Oracle遞歸查詢

2021-12-12 08:37:18

結(jié)構(gòu)化數(shù)據(jù)非結(jié)構(gòu)化數(shù)據(jù)數(shù)據(jù)

2024-05-27 00:32:45

2018-04-03 14:00:03

結(jié)構(gòu)化數(shù)據(jù)非結(jié)構(gòu)化數(shù)據(jù)數(shù)據(jù)庫(kù)

2011-09-08 16:30:59

SQL Server查詢

2018-10-12 11:26:13

oracle存儲(chǔ)語(yǔ)法

2018-08-28 11:40:47

存儲(chǔ)過程語(yǔ)法

2023-12-25 15:00:18

結(jié)構(gòu)化布線光纖

2016-10-19 09:41:31

SQL查詢語(yǔ)言關(guān)系型

2012-02-08 15:54:05

ibmdw

2012-10-11 17:05:41

IBMdw

2017-05-16 21:31:03

結(jié)構(gòu)化數(shù)據(jù)新模式

2011-03-01 13:59:43

結(jié)構(gòu)化

2009-10-09 17:57:20

結(jié)構(gòu)化布線

2011-02-28 13:55:00

結(jié)構(gòu)化布線

2010-04-02 15:04:14

Oracle遞歸查詢

2009-10-15 13:49:23

結(jié)構(gòu)化布線系統(tǒng)

2009-10-21 15:20:28

結(jié)構(gòu)化布線技術(shù)

2011-03-01 09:39:51

結(jié)構(gòu)化布線
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)