最近工作中用到了遞迴查詢,順便做下備忘:
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...