資料庫中的遞迴查詢

2021-09-01 19:41:57 字數 1039 閱讀 9740

最近工作中用到了遞迴查詢,順便做下備忘:

1. sql2005中的cte查詢:

with cte(aaaaa,bbbbb,ccccc) 

as(

-- 查詢id為411321150的資料

select id as aaaaa,parent as bbbbb,name as ccccc

from regioninfo where id='456789150'

union all

-- 連線前面查詢結果並進行遞迴

select r.id as aaaaa, r.parent as bbbbb, r.name as ccccc

from regioninfo as r

inner join cte c

on c.bbbbb=r.id

)select aaaaa, bbbbb, ccccc

from ct

原表中資料為:

查詢結果為:

2.oracle中的遞迴:

select   menuid,parentsid,menuname 

from ac_menu

start with parentsid='operorgmanage'

connect by prior menuid=parentsid

原表中資料為:

查詢結果為:

資料庫遞迴查詢

今天工作看同事 用到了start with.connect by prior,不知道什麼意思,查詢了一些資料,以下是比較好理解的。oracle中的select語句可以用start with.connect by prior子句實現遞迴查詢,connect by 是結構化查詢中用到的,其基本語法是 s...

SQLserver資料庫中關於遞迴的查詢使用

度量快速開發平台資料庫支援sqlserver資料庫,我們之前習慣的oracle遞迴查詢用的 start with dept id 1000 connect by prior dept id upper id的方式就不靈了。比如我們的組織機構裡面有很多下級機構及部門,要查詢出登入人所在的機構,並列出該...

關於資料庫的遞迴查詢

1 oracle 以scott.emp表舉例 empno是人員編號,mgr是上級領導 也就是上級人員編碼 1 從上到下查詢 該查詢查詢員工jones下屬所有的員工 select emp.from emp start with ename jones connect by mgr prior empn...