回覆列表
  • 1 # 使用者9937787127551

    ORACLE start with… connect by prior 子句用法

    connect by 是結構化查詢中用到的,其基本語法如下:

    select … from tablename start with 條件1

    connect by prior 條件2

    where 條件3;

    其中:

    條件1 是根結點限定語句,當然也可以放寬限定條件取多個結點,就形成多根樹。

    條件2 是連線條件。

    條件3 是過濾條件,用於所返回的所有記錄進行過濾。

    例如

    select * from table

    start with fid = ‘G113’

    connect by prior fid = pfid

    where fflag = ‘Y’;

    在一個樹狀儲存表中有兩個欄位,fid和pfid。其中pfid為fid上級記錄的id。

    用上述語法的查詢可以取得這棵樹的所有記錄。

    掃描順序:

    1,從根結點開始;

    2,訪問該結點;

    3,判斷該結點有無被訪問的子結點,若有,則轉向它的最左側的的未訪問的子結點,並執行第二步,否則執行第四步;

    4,若該結點為根節點,則訪問完畢,否則執行第五步;

    5,返回該結點的父結點,並執行第三步;

    select …

    connect by {prior 列名1=列名2|列名1=prior列名2}

    [start with];

  • 中秋節和大豐收的關聯?
  • 好詞好句好段有哪些?