單一SQL 查詢中的多個CTE
在SQL 中,可以在單一查詢中組合多個CTE(公用表表達式) 。為此,您需要在查詢開頭使用關鍵字 WITH 一次。
範例:
假設您要組合一種遞迴 CTE 和兩種非遞迴 CTE。您可以使用以下語法來執行此操作:
WITH RECURSIVE cte1 AS (...), cte2 AS ( SELECT ... UNION ALL SELECT ... ), cte3 AS (...) SELECT ... FROM cte3 WHERE ...
在此範例中:
注意: 當 RECURSIVE 時,CTE 的順序並不重要。使用關鍵字。
遞歸CTE:
遞歸 CTE 可以在其定義中引用自身。這允許您建立分層或樹狀結構。在上面的範例中,cte2 是遞歸 CTE,因為它在 UNION ALL 子句中引用自身。
非遞歸 CTE:
非- 遞歸 CTE 只是定義可以稍後在查詢中引用的臨時表。在上面的範例中,cte1 和 cte3 是非遞歸 CTE。
以上是如何在單一 SQL 查詢中組合多個 CTE(包括遞歸 CTE)?的詳細內容。更多資訊請關注PHP中文網其他相關文章!