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

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/255079.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/255079.shtml
英文地址,請注明出處:http://en.pswp.cn/news/255079.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

庖丁解牛TLD(一)——開篇

最近在網上多次看到有關Zdenek Kalal的TLD的文章,說他做的工作如何的帥,看了一下TLD的視頻,感覺確實做的很好,有人夸張的說他這個系統可以和Kniect媲美,我倒是兩者的工作可比性不大,實現的方法也不同。但這…

Arduino從DHT11讀取溫濕度數據并顯示在1602LCD

硬件清單 Arduino NANO1602LCD PCF8574T模塊YL-47 DHT11模塊 連線 1. 連接LCD: PCF8574T模塊4pin(Gnd, Vcc, SDA i2c數據, SCL i2c時鐘) 連接至Arduino接口 Gnd -> Gnd, Vcc -> Vcc, SDA -> A4, SDL -> A52. 連接YL-47 DHT11: Gnd -> Gnd, Vcc -> Vcc, Data…

服務器性能測試

淺談服務器性能測試的全生命周期——從測試、結果分析到優化策略 原創 2016-06-16 Micheal 騰訊WeTest測試開發者的共同關注!作者:Micheal,騰訊資深后臺開發工程師。WeTest導讀 服務器性能測試是一項非常重要而且必要的工作,本文是…

庖丁解牛TLD(二)——初始化工作(為算法的準備)

我說的初始化,還不是算法的初始化工作,而是讀入圖像,響應鍵盤鼠標之類的工作。作者提供的代碼中的工作包含了從攝像頭讀取和從文件中讀取兩種輸入方案。這里介紹一下從文件輸入的辦法。因為OpenCV從視頻讀取圖像序列的辦法有很好的demo&#…

(轉載)Qt中MOC的一些限制

無意中發現在Qt的文檔里有一篇關于moc工具的limitation的文章,里頭的東西值得學習一下。 Qt一個鏈接的錯誤, 程序結構很簡單, 就是designer設計主界面,在代碼里用多重繼承方式使用, 奇怪的錯誤信息如下: mo…

庖丁解牛TLD(三)——算法初始化

上一講我提到對于算法的初始化工作主要是在tldInit這個函數里實現的。主要分為如下幾大步驟,1)初始化Detector。2)初始化Trajectory。3)訓練Detector 1)初始化Detector 其中bb_scan為掃描grid區域,該函數輸入為boundin…

Web測試容易忽略的地方

1.瀏覽器的后退按鈕 提交表單一條已經成功提交的記錄,back后再提交,看系統會如何處理。檢查多次使用back健的情況在有back的地方,back,回到原來的頁面,再back,重復幾次,看是否會報錯。 2.通過修…

[Android]你不知道的Android進程化(4)--進程通信AIDL框架

大家好,我系蒼王。以下是我這個系列的相關文章,有興趣可以參考一下,可以給個喜歡或者關注我的文章。[Android]如何做一個崩潰率少于千分之三噶應用app--章節列表Google爸爸,聽說要將一些插件化hook系統的變量屬性禁用,…

在未啟動程序情況 點擊視圖設計器 彈出未將對象引用窗體的解決方案

請問下 在未運行程序情況 點擊視圖設計器 彈出未將對象引用窗體 解決方案:1.看后臺進程是不是相關的進程在啟動,如果有關閉進程;重啟vs,即可2.重啟電腦轉載于:https://www.cnblogs.com/yang12311/p/5593838.html

圖像配準的步驟

目前,很難找到一種普適的方法能夠應對所有的配準情況,任何一種配準算法都必須考慮圖像的成像原理、幾何變形、噪聲影響、配準精度等因素。不過,從原理上將,配準算法可以大致分為以下四個步驟: (1&#xff0…

Jm86中的encode_one_macroblock注釋

Jm86中的encode_one_macroblock注釋 /*! ************************************************************************************** /brief* Mode Decision for a macroblock* //該函數的作用是編碼一個宏塊(包括幀間、幀內、幀內預測的方式)。*…

Python之路【第十七篇】:裝飾器

寫代碼的時候有一個原則,開放封閉原則(面向對象):對某些東西開放,對某些封閉,在裝飾器這里,函數內部是封閉的,不允許改變函數的內部。 裝飾器用來裝飾函數,可以讓函數在執行之前或者執行之后&am…

HALCON示例程序measure_chip.hdev芯片封裝檢測

HALCON示例程序measure_chip.hdev芯片封裝檢測 示例程序源碼(加注釋) 關于顯示類函數解釋 dev_update_off () read_image (Image, ‘die_on_chip’) get_image_size (Image, Width, Height) dev_close_window () dev_open_window (0, 0, Width * 2, He…

工業機器人智能發展:視覺和觸覺感應簡化

機器人工業協會(Robotic Industries Association)指出,從2003到2005年間,北美機器人工業以20%的平均年增長率發展。在汽車市場需求疲軟以及外國廠商的壓力不斷增加的背景下,這一成就是如何取得的?成本的普遍…

ASP站點無法訪問怎么辦

確保啟用了目錄瀏覽功能 轉載于:https://www.cnblogs.com/acetaohai123/p/6571257.html

五、案例-指令參考-freemarker指令、表達式

案例-指令參考描述&#xff1a;本人自己測試寫了一遍&#xff0c;如有錯的地方&#xff0c;懂freemarker的朋友望指點指點&#xff01; 案例-指令參考 表達式 一、 Assign 1、<#assign name1"北京" name2"上海" name3"廣東"> 調用&#xf…

PartitionMotionSearch()函數

encode_one_macroblock()函數中的運動估計分為兩大塊&#xff0c;對于宏塊級的三種模式&#xff0c;分塊后直接對patition依次調用PartitionMotionSearch()函數&#xff1b;而對于亞宏塊級的&#xff08;含8x8, 8x4,4x8,4x4&#xff09;模式&#xff0c;首先將宏塊拆分為4個88子…

201521123017 《Java程序設計》第4周學習總結

1. 本周學習總結 2. 書面作業 Q1.注釋的應用 使用類的注釋與方法的注釋為前面編寫的類與方法進行注釋&#xff0c;并在Eclipse中查看。(截圖) Q2.面向對象設計(大作業1&#xff0c;非常重要) 2.1 將在網上商城購物或者在班級博客進行學習這一過程&#xff0c;描述成一個故事。…

完整的VAL3程序

start() begin//延時10秒 delay(5)//初始化變量call init()//清空原有運動堆棧resetMotion()//建立上電任務taskCreate "robotpower",100,robotpower()wait(isPowered())//建立生產任務taskCreate "ProductionCycle",10,ProductionCycle()//建立安全區域…

iOS WebView 加載本地資源(圖片,文件等)

NSString *path [[NSBundle mainBundle] pathForResource:"關于.docx" ofType:nil]; NSURL *url [NSURL fileURLWithPath:path]; NSLog("%", [self mimeType:url]); //webview加載本地文件&#xff0c;可以使用加載數據的方式 //第一個誒參數是一個N…