Sql學(xué)習(xí)第二天——SQL DML與CTE概述_Mssql數(shù)據(jù)庫(kù)教程
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!
推薦:Sql學(xué)習(xí)第三天——SQL 關(guān)于CTE(公用表達(dá)式)的遞歸查詢使用公用表表達(dá)式(CTE)具有一個(gè)重要的優(yōu)點(diǎn),那就是能夠引用其自身,從而創(chuàng)建遞歸 CTE接下來(lái)詳細(xì)介紹下:CTE 的基本語(yǔ)法結(jié)構(gòu),在使用CTE時(shí)注意事項(xiàng)以及實(shí)例操作
DML (Data Manipulation Language) 與 CTE (Common Table Expression)今天看書時(shí)遇到的兩個(gè)縮寫,不知道其含義,于是就百度了一下,特地在此記錄下來(lái),以便于下次復(fù)習(xí)使用。
關(guān)于DML (Data Manipulation Language):
數(shù)據(jù)操縱語(yǔ)言,用戶能夠查詢數(shù)據(jù)庫(kù)以及操作已有數(shù)據(jù)庫(kù)中的數(shù)據(jù)的計(jì)算機(jī)語(yǔ)言。具體是指是UPDATE更新、INSERT插入、DELETE刪除。
關(guān)于CTE (Common Table Expression):
CTE(Common Table Expression) ,即公用表表達(dá)式,可以認(rèn)為是在單個(gè) SELECT、INSERT、UPDATE、DELETE 或 CREATE ⅥEW 語(yǔ)句的執(zhí)行范圍內(nèi)定義的臨時(shí)結(jié)果集。CTE與派生表類似,具體表現(xiàn)在不存儲(chǔ)為對(duì)象,并且只在查詢期間有效。與派生表的不同之處在于,CTE 可自引用,還可在同一查詢中引用多次。
CTE可用于:
1.創(chuàng)建遞歸查詢(我個(gè)人認(rèn)為CTE最好用的地方)。
2.在同一語(yǔ)句中多次引用生成的表。
CTE優(yōu)點(diǎn):
1.使用 CTE 可以獲得提高可讀性和輕松維護(hù)復(fù)雜查詢的優(yōu)點(diǎn)。
2.查詢可以分為單獨(dú)塊、簡(jiǎn)單塊、邏輯生成塊。之后,這些簡(jiǎn)單塊可用于生成更復(fù)雜的臨時(shí) CTE,直到生成最終結(jié)果集。
CTE可使用的范圍:
可以在用戶定義的例程(如函數(shù)、存儲(chǔ)過(guò)程、觸發(fā)器或視圖)中定義 CTE。
下面看一個(gè)簡(jiǎn)單的CTE例題:
把test表中salary最大的id記錄保存在test_CTE中,再調(diào)用
代碼如下:
復(fù)制代碼 代碼如下:www.hl5o.cn
with test_CTE(id,salary)
as
(
select id,max(salary)
from test
group by id
)
select * from test_cte
分享:sqlserver中delete、update中使用表別名和oracle的區(qū)別之所以要用別名,是因?yàn)閣here條件中需要用到子查詢寫一些條件,下面不寫那么復(fù)雜,僅說(shuō)明一下問(wèn)題
相關(guān)Mssql數(shù)據(jù)庫(kù)教程:
- sql 語(yǔ)句練習(xí)與答案
- 深入C++ string.find()函數(shù)的用法總結(jié)
- SQL Server中刪除重復(fù)數(shù)據(jù)的幾個(gè)方法
- sql刪除重復(fù)數(shù)據(jù)的詳細(xì)方法
- SQL SERVER 2000安裝教程圖文詳解
- 使用sql server management studio 2008 無(wú)法查看數(shù)據(jù)庫(kù),提示 無(wú)法為該請(qǐng)求檢索數(shù)據(jù) 錯(cuò)誤916解決方法
- SQLServer日志清空語(yǔ)句(sql2000,sql2005,sql2008)
- Sql Server 2008完全卸載方法(其他版本類似)
- sql server 2008 不允許保存更改,您所做的更改要求刪除并重新創(chuàng)建以下表
- SQL Server 2008 清空刪除日志文件(瞬間日志變幾M)
- Win7系統(tǒng)安裝MySQL5.5.21圖解教程
- 將DataTable作為存儲(chǔ)過(guò)程參數(shù)的用法實(shí)例詳解
Mssql數(shù)據(jù)庫(kù)教程Rss訂閱編程教程搜索
Mssql數(shù)據(jù)庫(kù)教程推薦
- 如何解決SQL Server不允許進(jìn)行遠(yuǎn)程連接的問(wèn)題
- SQL server 表操作介紹
- 淺談SQL判斷是否存在
- 解析Microsoft SQL Server數(shù)據(jù)庫(kù)日志截?cái)?/a>
- 數(shù)據(jù)庫(kù)日常維護(hù)常用的腳本概述及部分測(cè)試
- 按指定排列順序獲取數(shù)據(jù)的sql語(yǔ)句
- 教你SQL Server日志清除的兩種方法
- 怎樣用SQL Server事件探查器創(chuàng)建跟蹤
- 解析使用 SQL Server 數(shù)據(jù)庫(kù)查詢累計(jì)值的方法
- 淺談Oracle數(shù)據(jù)庫(kù)開發(fā)技術(shù)經(jīng)驗(yàn)
猜你也喜歡看這些
- linux Xtrabackup安裝及使用方法
- 淺談SQLite時(shí)間函數(shù)的使用說(shuō)明與總結(jié)分析
- 10大關(guān)系數(shù)據(jù)庫(kù)SQL注入工具一覽
- MySQL索引簡(jiǎn)單分析
- 用MyEclipse配置DataBase Explorer(圖示)
- 解決sql server 2005 express中sa不能登錄
- MySQL:數(shù)據(jù)庫(kù)知識(shí)點(diǎn)
- MYSQL SET類型字段的SQL操作知識(shí)介紹
- C# Mysql 查詢 Rownum的解決方法
- 網(wǎng)站模板MySQL timestamp自動(dòng)更新時(shí)間
- 相關(guān)鏈接:
- 教程說(shuō)明:
Mssql數(shù)據(jù)庫(kù)教程-Sql學(xué)習(xí)第二天——SQL DML與CTE概述
。