中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL中怎么實現遞歸查詢

發布時間:2021-08-03 17:04:29 來源:億速云 閱讀:134 作者:Leah 欄目:數據庫

SQL中怎么實現遞歸查詢,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。

with cte as
(
select Id,Pid,DeptName,0 as lvl from Department
where Id = 2
union all
select d.Id,d.Pid,d.DeptName,lvl+1 from cte c inner join Department d
on c.Id = d.Pid
)

select * from cte

表結構:

Id          Pid         DeptName
----------- ----------- --------------------------------------------------
1           0           總部
2           1           研發部
3           1           測試部
4           1           質量部
5           2           小組1
6           2           小組2
7           3           測試1
8           3           測試2
9           5           前端組
10          5           美工

查詢結果 查部門ID=2的所有下級部門和本級

Id          Pid         DeptName                                           lvl
----------- ----------- -------------------------------------------------- -----------
2           1           研發部                                                0
5           2           小組1                                                1
6           2           小組2                                                1
9           5           前端組                                                2
10          5           美工                                                 2

原理(摘自網上)

  遞歸CTE最少包含兩個查詢(也被稱為成員)。第一個查詢為定點成員,定點成員只是一個返回有效表的查詢,用于遞歸的基礎或定位點。第二個查詢被稱為遞歸成員,使該查詢稱為遞歸成員的是對CTE名稱的遞歸引用是觸發。在邏輯上可以將CTE名稱的內部應用理解為前一個查詢的結果集。

遞歸查詢沒有顯式的遞歸終止條件,只有當第二個遞歸查詢返回空結果集或是超出了遞歸次數的最大限制時才停止遞歸。是指遞歸次數上限的方法是使用MAXRECURION。

關于SQL中怎么實現遞歸查詢問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

sql
AI

平谷区| 乐清市| 金坛市| 临沧市| 濮阳县| 临漳县| 揭东县| 屯门区| 无棣县| 镇康县| 宁晋县| 杭锦旗| 海宁市| 上蔡县| 虞城县| 韶山市| 舟山市| 南靖县| 烟台市| 原平市| 白河县| 道真| 潜山县| 鄂托克旗| 玛曲县| 吴桥县| 攀枝花市| 彭阳县| 巨鹿县| 新津县| 扬中市| 永清县| 宝丰县| 延边| 大庆市| 福泉市| 冀州市| 清丰县| 霍城县| 视频| 青田县|