日韩小视频-日韩久久一区二区三区-日韩久久一级毛片-日韩久久久精品中文字幕-国产精品亚洲精品影院-国产精品亚洲欧美云霸高清

下載吧 - 綠色安全的游戲和軟件下載中心

軟件下載吧

當前位置:軟件下載吧 > 數據庫 > MS_SQL > SQL基礎:SQL?Server使用T-SQL進階之公用表表達式(CTE)

SQL基礎:SQL?Server使用T-SQL進階之公用表表達式(CTE)

時間:2024-02-08 11:17作者:下載吧人氣:17

在編寫T-SQL代碼時,往往需要臨時存儲某些結果集。前面我們已經廣泛使用和介紹了兩種臨時存儲結果集的方法:臨時表和表變量。除此之外,還可以使用公用表表達式的方法。

公用表表達式(Common Table Expression)是SQL Server2005版本的引入的一個特性。CTE可以看組是一個臨時的結果集,可以再接下來來的一個SELECT,INSERT,UPDATE,DELETE,MERGE語句中多次引用。

一、3種方法比較

使用公用表達式CTE可以讓語句更加清晰簡練。與公用表達式作用類似的還有臨時表和表變量。下面給出三種方法的對比。

  • 臨時表#:需要在臨時數據庫TempDB中通過I/O操作來創建表結構,一旦用戶退出SQL Server環境則自動被刪除。
  • 表變量@:在內存中以表結構的形式存在,其定義與變量一致,其使用與表類似,不需要產生I/O。
  • 公用表表達式with as:定義在內存中保存的臨時存儲結果集對象,不產生I/O,不需要按照表變量這樣定義,使用方法和表類似。可以自己引用,也可以再查詢中被多次引用。

1、使用CTE好處

根據微軟對CTE好處的描述,可以歸結為四點:

  • 可以定義遞歸公用表表達式(CTE)
  • 當不需要將結果集作為視圖被多個地方引用時,CTE可以使其更加簡潔
  • GROUP BY 語句可以直接作用于子查詢所得的標量列
  • 可以在一個語句中多次引用公用表表達式(CTE)

二、WITH AS的含義

WITH AS-做子查詢部分(subquery factoring)。

它用于定義一個SQL片段,該片段會被是整個SQL語句所用到。如果WITH AS所以定的表名被調用兩次以上,則優化器會自動將WITH AS所獲取的數據放入臨時表里,如果只是被調用一次,則不會。

可以通過materialize將WITH AS短語里的數據強制放入全局臨時表里。

WITH AS可以被緊跟著的一條SQL語句所使用多次,但不能被緊跟著的多條SQL語句使用。

WITH B AS
(
SELECT * FROM xxx WHERE Id > 5
)
SELECT * FROM B
標簽MSSQL,SQLServer,技術文檔,數據庫,SQLSERVER

相關下載

查看所有評論+

網友評論

網友
您的評論需要經過審核才能顯示

熱門閱覽

最新排行

公眾號

主站蜘蛛池模板: 国产成人亚洲合集青青草原精品 | 亚洲精品久久九九精品 | 国产色a在线观看 | 在线91精品国产免费 | 6一10周岁毛片免费 6一12呦女精品 | 色噜噜国产精品视频一区二区 | 久久免费精品 | 亚洲精品一区亚洲精品 | 12至16末成年毛片视频 | 日韩一区二区三区在线 | 在线国产视频 | 久久久久久一级毛片免费无遮挡 | 欧美性色一级在线观看 | 久久精品视频免费观看 | 99久久国产免费中文无字幕 | 成人国产一区二区三区精品 | 草久视频在线 | 一级毛片看一个 | 中文字幕在线日韩 | 国产一久久香蕉国产线看观看 | 欧美一级毛片免费高清aa | 日本www视频 | 亚洲精品视频观看 | 网禁呦萝资源网站在线观看 | 久久精品视频在线观看 | 欧美日韩视频一区二区 | 亚洲日本中文字幕在线 | 亚洲午夜影视 | 一级做a爰片久久毛片美女 一级做a爰片久久毛片免费看 | 在线中文| 一区二区不卡久久精品 | 一区二区不卡视频在线观看 | 国产精品日韩欧美在线 | 亚洲另类自拍 | 亚洲精品久久久久久久福利 | 欧美日韩国产在线观看一区二区三区 | 成人精品一级毛片 | 91丨九色丨首页在线观看 | 欧美成人看片一区二区三区尤物 | 一区二区三区久久精品 | 日本欧美一区二区三区不卡视频 |