oracle的層次查詢

語法:

  Select  列名次   from 表名次  [where 條件] start with條件connect by prior 當前表這段=級聯表字段。

 

解釋:where條件爲可選,start with條件 connect by prior語句完成遞歸查詢,形成一棵樹形結構。Start with表示開始記錄、connect by prior指定與當前記錄關聯是的字段關係。

 

代碼:

創建部門表,是一個有層次的結構表,通過idpid(父級ID)來體現層次結構。

  Create   table  dep(

Id      number(9)  primary  key,

Name   varchar2(30),---部門名次

Pid     number(9)----父級部門ID,具有下一級部門

)

 

1.從根節點開始查詢遞歸記錄

   Select  *  from  from   dep

Where  name  like ‘%技術%’ ----àwhere語句可選

 

 start  with  id  = 1

 connect   by  prior  id  = pid . 

    start with  id = 1 表示從ID=1的記錄開始查詢,向葉子的方向遞歸,遞歸的條件是 ID = Pid,當前記錄的ID等於子記錄的PID

 

2.從葉子節點開始查詢遞歸記錄

  Select  *  from  from   dep  

Where  name  like ‘%技術%’ ----àwhere語句可選

start  with  id  = 5

 connect   by  prior  pid  = id .

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章