新聞中心
怎么用sqlserver實(shí)現(xiàn)遞歸刪除目錄結(jié)構(gòu)
WITH DirectReports(ManagerID, EmployeeID, Title, EmployeeLevel) AS ( SELECT ManagerID, EmployeeID, Title, 0 AS EmployeeLevel FROM dbo.MyEmployees WHERE ManagerID IS NULL UNION ALL --主要是在此,增加一個(gè)union all SELECT e.ManagerID, e.EmployeeID, e.Title, EmployeeLevel + 1 FROM dbo.MyEmployees AS e INNER JOIN DirectReports AS d -- 在此調(diào)用自身,就可以實(shí)現(xiàn)遞歸了 ON e.ManagerID = d.EmployeeID ) SELECT ManagerID, EmployeeID, Title, EmployeeLevel FROM DirectReports ORDER BY ManagerID;
南靖ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!
sqlserver 遞歸查詢
CREATE TABLE #tb1(stuId INT,stuName VARCHAR(30),teaId INT);
INSERT INTO #tb1 (stuId,stuName,teaId)
VALUES(1,'zhou',0),(2,'kong',0),(3,'hong',2),(4,'zhang',1),(5,'liu',4),
(6,'zhao',5),(7,'zheng',6),(8,'wei',7)
;WITH cte AS (
SELECT t.stuId,t.stuName,t.teaId FROM #tb1 AS t
WHERE t.stuId=8
UNION ALL
SELECT t.stuId,t.stuName,t.teaId FROM cte AS c
JOIN #tb1 AS t ON c.teaId=t.stuId
)
SELECT * FROM cte
SQL遞歸查詢知多少
1、基本概念
公用表表達(dá)式 (CTE) 可以認(rèn)為是在單個(gè) SELECT、INSERT、UPDATE、DELETE 或 CREATE VIEW 語(yǔ)句的執(zhí)行范圍內(nèi)定義的臨時(shí)結(jié)果集。公用表表達(dá)式可以包括對(duì)自身的引用,這種表達(dá)式稱為遞歸公用表表達(dá)式。
創(chuàng)建遞歸查詢。有關(guān)詳細(xì)信息,請(qǐng)參閱使用公用表表達(dá)式的遞歸查詢。
在不需要常規(guī)使用視圖時(shí)替換視圖,也就是說(shuō),不必將定義存儲(chǔ)在元數(shù)據(jù)中。
啟用按從標(biāo)量嵌套 select 語(yǔ)句派生的列進(jìn)行分組,或者按不確定性函數(shù)或有外部訪問(wèn)的函數(shù)進(jìn)行分組。
在同一語(yǔ)句中多次引用生成的表。
MSDN上對(duì)CTE的介紹
T-SQL查詢進(jìn)階--詳解公用表表達(dá)式(CTE)
CTE 的基本語(yǔ)法結(jié)構(gòu)如下:
WITH expression_name [ ( column_name [,...n] ) ]
AS
( CTE_query_definition )
--只有在查詢定義中為所有結(jié)果列都提供了不同的名稱時(shí),列名稱列表才是可選的。
--運(yùn)行 CTE 的語(yǔ)句為:
SELECT column_list FROM expression_name;
即三個(gè)部分:
公用表表達(dá)式的名字(在WITH關(guān)鍵字之后)
查詢的列名(可選)
緊跟AS之后的SELECT語(yǔ)句(如果AS之后有多個(gè)對(duì)公用表的查詢,則只有第一個(gè)查詢有效)
關(guān)于sqlserver遞歸查詢
你的意思沒(méi)特別看懂,但是在ORACLE里面的遞歸語(yǔ)法是:
select * from tab ...start with ... connect by col_parent...
你可以查一下start with ,connect 的語(yǔ)法
分享名稱:sqlserver寫遞歸,oraclesql遞歸查詢講解
分享路徑:http://fisionsoft.com.cn/article/dsipeep.html