Sql學習第二天——SQL DML與CTE概述_Mssql數據庫教程

      編輯Tag賺U幣
      教程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數據庫教程/更新時間:2013-04-23
      相關Mssql數據庫教程