oracle對樹形資料的遞迴查詢使用connect子句,例如:
以下內容為程式**:
id, parentid,
level
from
treenode
start
with
id ='a2
'connect
byprior id
=parentid
在db2和最新的ms sql server 2005中也支援遞迴查詢。sql server 2005和db 2語法是相似的。
如上的sql在db 2中應為:
with
sub_table (id, parentid,
level
) as(
select
id, parentid,
0from
treenode
where
id ='a2
'union
allselect
prior_tab.id, prior_tab.parentid, ksql_sub_table.
level+1
from
(select
id, parentid,
level
from
treenode) prior_tab, sub_table
where
sub_table.id
=prior_tab.parentid
)select
id, parentid,
level
from
sub_table
db2中遞迴查詢使用起來,比oracle的麻煩。oracle中引入了prior關鍵字,使得遞迴查詢變得簡單。
ms sql server在最新2005的版本中,終於支援遞迴查詢了,相比起oracle和db2,落後了好多年喲!!
資料庫遞迴查詢
今天工作看同事 用到了start with.connect by prior,不知道什麼意思,查詢了一些資料,以下是比較好理解的。oracle中的select語句可以用start with.connect by prior子句實現遞迴查詢,connect by 是結構化查詢中用到的,其基本語法是 s...
MySQL不同表查詢,不同資料庫查詢
內容比較弱 歡迎大神們指點 在mysql中 要實現不同表的查詢和不同資料庫的查詢,首先得有地方查吧 1 建立資料庫 create databaes test use test create table pet id int,name varchar 20 create table user id i...
資料庫遞迴查詢(CET)
if object id ta isnotnull droptable ta go createtableta id int,name nvarchar 4 parentid nvarchar 2 go insertintota select1,河北省 0 unionall select2,邢台市 ...