Sql學習第二天——SQL DML與CTE概述_Mssql數據庫教程
教程Tag:暫無Tag,歡迎添加,賺取U幣!
推薦:Sql學習第三天——SQL 關于CTE(公用表達式)的遞歸查詢使用公用表表達式(CTE)具有一個重要的優點,那就是能夠引用其自身,從而創建遞歸 CTE接下來詳細介紹下:CTE 的基本語法結構,在使用CTE時注意事項以及實例操作
DML (Data Manipulation Language) 與 CTE (Common Table Expression)今天看書時遇到的兩個縮寫,不知道其含義,于是就百度了一下,特地在此記錄下來,以便于下次復習使用。
關于DML (Data Manipulation Language):
數據操縱語言,用戶能夠查詢數據庫以及操作已有數據庫中的數據的計算機語言。具體是指是UPDATE更新、INSERT插入、DELETE刪除。
關于CTE (Common Table Expression):
CTE(Common Table Expression) ,即公用表表達式,可以認為是在單個 SELECT、INSERT、UPDATE、DELETE 或 CREATE ⅥEW 語句的執行范圍內定義的臨時結果集。CTE與派生表類似,具體表現在不存儲為對象,并且只在查詢期間有效。與派生表的不同之處在于,CTE 可自引用,還可在同一查詢中引用多次。
CTE可用于:
1.創建遞歸查詢(我個人認為CTE最好用的地方)。
2.在同一語句中多次引用生成的表。
CTE優點:
1.使用 CTE 可以獲得提高可讀性和輕松維護復雜查詢的優點。
2.查詢可以分為單獨塊、簡單塊、邏輯生成塊。之后,這些簡單塊可用于生成更復雜的臨時 CTE,直到生成最終結果集。
CTE可使用的范圍:
可以在用戶定義的例程(如函數、存儲過程、觸發器或視圖)中定義 CTE。
下面看一個簡單的CTE例題:
把test表中salary最大的id記錄保存在test_CTE中,再調用
代碼如下:
復制代碼 代碼如下:www.wf0088.com
with test_CTE(id,salary)
as
(
select id,max(salary)
from test
group by id
)
select * from test_cte
分享:sqlserver中delete、update中使用表別名和oracle的區別之所以要用別名,是因為where條件中需要用到子查詢寫一些條件,下面不寫那么復雜,僅說明一下問題
相關Mssql數據庫教程:
- sql 語句練習與答案
- 深入C++ string.find()函數的用法總結
- SQL Server中刪除重復數據的幾個方法
- sql刪除重復數據的詳細方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無法查看數據庫,提示 無法為該請求檢索數據 錯誤916解決方法
- SQLServer日志清空語句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲過程參數的用法實例詳解
- 相關鏈接:
- 教程說明:
Mssql數據庫教程-Sql學習第二天——SQL DML與CTE概述。