oracle中層次查詢

2021-07-03 09:08:15 字數 1605 閱讀 9064

oracle層次查詢(connect by )是結構化查詢中用到的,下面就為您介紹oracle層次查詢的基本語法,希望可以讓您對oracle層次查詢有更深的認識。

oracle中的select語句可以用start 

with...connect by prior子句實現遞迴查詢,connect by 是結構化查詢中用到的,其基本語法是:

select ... from

where

start with

connect by

;:過濾條件,用於對返回的所有記錄進行過濾。

:查詢結果重起始根結點的限定條件。

:連線條件

資料組織結構如下圖:

資料庫表結構如下:

create table t2(

root_id number,

id number,

name varchar(5),

description varchar(10)

);insert into t2(root_id,id,name,description) values(0,1,'a','aaa');

insert into t2(root_id,id,name,description) values(1,2,'a1','aaa1');

insert into t2(root_id,id,name,description) values(1,3,'a2','aaa2');

insert into t2(root_id,id,name,description) values(0,4,'b','bbb');

insert into t2(root_id,id,name,description) values(4,5,'b1','bbb1');

insert into t2(root_id,id,name,description) values(4,6,'b2','bbb2');

獲取完整樹:

獲取特定子樹:

如果connect by prior中的prior被省略,則查詢將不進行深層遞迴。

如:select * from t2 start with root_id = 0 connect by id = root_id;

select * from t2 start with id = 1 connect by id = root_id;如:

pgsql中層次查詢方法

與oracle中的start with connect by.非常相似的功能,查詢後顯示目錄層次結構的方法 當然在sql server 2005之後有with的功能。測試 drop table ifexists t1 create table t1 id integer primary key,na...

模組中層次劃分

設計良好的模組,應該是層次化的。例如,模組b擴充套件了模組a,同時被模組c擴充套件。這樣就形成了a b c三個層次。img 如圖模組的層次 如圖所示,層次之間有如下的關係 上層定義規則,下層定義細節 上層 下層也可稱為內層 外層 上層是抽象的,下層是具體的 越上層,越穩定 越少改變 越下層,越易變。...

學習中層次的觀點給我帶來的好處

剛學c語言的時候,我幾乎寸步難行。我老是困惑於這樣乙個簡 單的事實 計算機是怎麼懂得我寫的 的呢?像a a 2這樣的 人類才能夠理解的公式計算機竟然也能準確地計算出來,難道它可以 思考嗎?帶著這個疑問,我又學了一段時間的c,可是最初的那個疑 問依然存在,並漸漸放大,終於使我放棄了學習c,因為我的大腦...