Sql進修第二天——SQL DML與CTE概述。本站提示廣大學習愛好者:(Sql進修第二天——SQL DML與CTE概述)文章只能為提供參考,不一定能成為您想要的結果。以下是Sql進修第二天——SQL DML與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中,再挪用
代碼以下:
with test_CTE(id,salary)
as
(
select id,max(salary)
from test
group by id
)
select * from test_cte