connect by 是結構化查詢中用到的,其基本語法是:
select ... from tablename start by cond1
connect by cond2
where cond3;
簡單說來是將乙個樹狀結構儲存在一張表裡,比如乙個表中存在兩個字段:
id,parentid那麼通過表示每一條記錄的parent是誰,就可以形成乙個樹狀結構。
用上述語法的查詢可以取得這棵樹的所有記錄。
其中cond1是根結點的限定語句,當然可以放寬限定條件,以取得多個根結點,實際就是多棵樹。
cond2是連線條件,其中用prior表示上一條記錄,比如 connect by prior id=praentid就是說上一條記錄的id是本條記錄的praentid,即本記錄的父親是上一條記錄。
cond3是過濾條件,用於對返回的所有記錄進行過濾。
用遞迴處理樹型結構 表結構
用遞迴處理樹型結構 表結構 遞迴求城市,從小到大的,或從大到小。等依次類推得目錄樹結構 我想寫乙個函式 傳入部門id號後 馬上得到相應的 部門結構 如 輸入8得到的是市場部 東南市場 上海市 輸入9得到的是市場部 西北市場 北京市 輸入6得到的是市場部 西北市場 輸入3得到的是市場部 輸入1得到的是...
oracle 樹型查詢
1 start with 條件 connect by prior 記憶 prior 優先的 我理解為已知的.如常見的表中字段為id,pid 父類 其中有一條記錄為id 1000,pid 2000,那麼要找id的所有子類,必須去找 pid 1000的記錄,即id 1000必須是 優先的 是 已知的 故...
樹型結構的設計
最近做專案,經常用的樹型結構,對樹型表的設計有了新的理解.原來設計的樹型表結構 體現了一種遍歷的方式.用編碼控制相應的父子關係,雖然這樣也體現了關係,但在做轉移子樹時就相當麻煩了,而且邏輯關係也不清晰.這次的設計 改用父節點控制父子關係,同時提供乙個排序號,提供一種遍歷,可以增加多個字段,來擴充套件...