91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL中的CTE有什么用

發布時間:2020-12-04 12:00:57 來源:億速云 閱讀:309 作者:小新 欄目:MySQL數據庫

小編給大家分享一下SQL中的CTE有什么用,希望大家閱讀完這篇文章后大所收獲,下面讓我們一起去探討吧!

CTE表示公用表表達式,是一個臨時命名結果集,始終返回結果集。它是為了簡化SQL查詢,而被標準SQL引入的。下面本篇文章就來帶大家認識一下CTE(公用表表達式),希望對大家有所幫助。

CTE是什么?

公用表表達式(CTE)可以被認為是在單個SELECT,INSERT,UPDATE,DELETE或CREATE VIEW語句的執行范圍內定義的臨時結果集。CTE類似于派生表,因為它不作為對象存儲,并且僅在查詢期間持續。與派生表不同,CTE可以是自引用的,并且可以在同一查詢中多次引用。【相關視頻教程推薦:MySQL教程】

CTE的結構

CTE由表示CTE的表達式名稱,AS關鍵字和SELECT語句組成。定義CTE后,可以在SELECT,INSERT,UPDATE或DELETE語句中像表或視圖一樣引用它。CTE也可以在CREATE VIEW語句中用作其定義SELECT語句的一部分。

CTE的基本語法結構是:

WITH Expression_Name [ ( ColumnName [1,...n] ) ]
AS
( CTE query definition )

說明:我們可以通過在SELECT,INSERT,UPDATE,DELETE或MERGE語句之前直接添加WITH子句來定義CTE。WITH子句中可以包含一個或多個逗號分隔的CTE。

運行CTE的聲明是:

SELECT <column_list>
FROM expression_name;

CTE的類型

CTE有兩種類型:遞歸和非遞歸。

遞歸CTE:是引用自身的常用表表達式。

非遞歸CTE,顧名思義,不使用遞歸;他們不參考自己。

使用CTE的好處

○  可讀性:CTE提高了可讀性。而不是將所有查詢邏輯都集中到一個大型查詢中,而是創建幾個CTE,它們將在語句的后面組合。這使您可以獲得所需的數據塊,并將它們組合在最終的SELECT中。

○  替代視圖:您可以用CTE替換視圖。如果您沒有創建視圖對象的權限,或者您不想創建一個視圖對象,因為它僅在此一個查詢中使用,這很方便。

○  遞歸:使用CTE會創建遞歸查詢,即可以調用自身的查詢。當您需要處理組織結構圖等分層數據時,這很方便。

限制:克服SELECT語句限制,例如引用自身(遞歸)或使用非確定性函數執行GROUP BY。

○  排名:每當你想使用排名函數,如ROW_NUMBER(),RANK(),NTILE()等。

看完了這篇文章,相信你對SQL中的CTE有什么用有了一定的了解,想了解更多相關知識,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

道孚县| 南木林县| 林西县| 新蔡县| 中方县| 东乡族自治县| 新沂市| 宁安市| 房产| 会泽县| 宁津县| 永吉县| 潞西市| 和顺县| 昭觉县| 博乐市| 石狮市| 白银市| 商河县| 塔城市| 叶城县| 南皮县| 闽清县| 彭泽县| 潜山县| 建始县| 双牌县| 台山市| 江达县| 安丘市| 汝阳县| 依兰县| 乐亭县| 克拉玛依市| 宝坻区| 合作市| 潮安县| 肥城市| 皋兰县| 武鸣县| 本溪市|