程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SqlServer數據庫 >> 關於SqlServer >> sql server實現遞歸查詢的方法示例

sql server實現遞歸查詢的方法示例

編輯:關於SqlServer

本文實例講述了sql server實現遞歸查詢的方法示例。分享給大家供大家參考,具體如下:

有時候面對樹結構的數據時需要進行遞歸查詢,網上找了一番,參考了各位大神的文章,發現蠻簡單的,當做個小筆記方便以後使用

sql server 通過CTE來支持遞歸查詢,這對查詢樹形或層次結構的數據很有用

一般的樹形表結構如下,相信大家都很熟悉的

id title pid 1 1級節點 0 2 2級節點 1 3 3級節點 2 4 4級節點 3 5 5級節點 4

下面上代碼

----------sql server 遞歸查詢----------
--查找上級所有節點
with uCte as
(
  select a.id,a.title,a.pid from tree_table a where id = 3--當前節點
  union all
  select k.id,k.title,k.pid from tree_table k
  inner join uCte c on c.pid = k.id
)
select * from uCte;
--查找上級所有節點
with dCte as
(
  select a.id,a.title,a.pid from tree_table a where id = 3--當前節點
  union all
  select k.id,k.title,k.pid from tree_table k
  inner join dCte c on c.id = k.pid
)
select * from dCte;

更多關於SQL Server相關內容感興趣的讀者可查看本站專題:《SQL Server查詢操作技巧大全》、《SQL Server存儲過程技巧大全》、《SQL Server索引操作技巧大全》、《SQL Server常用函數匯總》及《SQL Server日期與時間操作技巧總結》

希望本文所述對大家SQL Server數據庫程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved