古詩詞大全網 - 古詩大全 - SQL遞歸查詢知多少

SQL遞歸查詢知多少

1、基本概念

公用表表達式 (CTE) 可以認為是在單個 SELECT、INSERT、UPDATE、DELETE 或 CREATE VIEW 語句的執行範圍內定義的臨時結果集。公用表表達式可以包括對自身的引用,這種表達式稱為遞歸公用表表達式。

創建遞歸查詢。有關詳細信息,請參閱使用公用表表達式的遞歸查詢。

在不需要常規使用視圖時替換視圖,也就是說,不必將定義存儲在元數據中。

啟用按從標量嵌套 select 語句派生的列進行分組,或者按不確定性函數或有外部訪問的函數進行分組。

在同壹語句中多次引用生成的表。

MSDN上對CTE的介紹

T-SQL查詢進階--詳解公用表表達式(CTE)

CTE 的基本語法結構如下:

WITH expression_name [ ( column_name [,...n] ) ]

AS

( CTE_query_definition )

--只有在查詢定義中為所有結果列都提供了不同的名稱時,列名稱列表才是可選的。

--運行 CTE 的語句為:

SELECT <column_list> FROM expression_name;

即三個部分:

公用表表達式的名字(在WITH關鍵字之後)

查詢的列名(可選)

緊跟AS之後的SELECT語句(如果AS之後有多個對公用表的查詢,則只有第壹個查詢有效)