日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL递归查询(with as)

發布時間:2023/12/13 数据库 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL递归查询(with as) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SQL遞歸查詢(with cte as)

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
1 表結構 Id????????? Pid???????? DeptName
----------- ----------- --------------------------------------------------
????????? 0?????????? 總部
????????? 1?????????? 研發部
????????? 1?????????? 測試部
????????? 1?????????? 質量部
????????? 2?????????? 小組1
????????? 2?????????? 小組2
????????? 3?????????? 測試1
????????? 3?????????? 測試2
????????? 5?????????? 前端組
???????? 5?????????? 美工
2 查詢結果 查部門ID=2的所有下級部門和本級

Id????????? Pid???????? DeptName?????????????????????????????????????????? lvl

----------- ----------- -------------------------------------------------- ----------- ???

???????????????? 1?????????? 研發部???????????????????????????????????????????????0 ?????????

?????????????????2?????????? 小組1??????????????????????????????????????????????? 1 ?????????

???????????????? 2?????????? 小組2??????????????????????????????????????????????? 1 ?????????

??????????????? ?5?????????? 前端組???????????????????????????????????????????????2 ????????

???????????????? 5?????????? 美工???????????????????????????????????????????????? ?2

(5 行受影響)

3 原理(摘自網上)

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

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

轉載于:https://www.cnblogs.com/nxxshxf/p/5590911.html

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的SQL递归查询(with as)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。