課程 20461-D: Querying Microsoft SQL Server® 2014

這個為期5天的教師主導課程為學生提供為 Microsoft SQL Server 2014 編寫基本 Transact-SQL 查詢所需的技術技能。本課程是所有 SQL Server 相關學科的基礎; 即資料庫管理,資料庫開發和商業智慧。本課程的主要目的是為人們準備測驗 “70-461: Writing Queries Using Microsoft® SQL Server® 2014 Transact-SQL”。該測驗將成為與所有 SQL Server 相關專業領域的基礎測驗; 即資料庫管理,資料庫開發和商業智慧。因此,本課程的主要目標對象是: 資料庫管理員,資料庫開發人員和 BI 專業人員。

注意: 本課程是為有興趣學習 SQL Server 2012 或 SQL Server 2014 的客戶設計的。它涵蓋了 SQL Server 2014 中的新功能,還涵蓋了 SQL Server 資料平台的重要功能。

對象設定檔

本課程適合資料庫管理員,資料庫開發人員和商業智慧專業人員。SQL 進階使用者很可能會參加本課程,這些進階用戶不一定要專注於資料庫或規劃參加測驗; 即報告撰寫器,業務分析人員和客戶端應用程式開發人員。

職務角色: 資料庫管理員

獲得的技能

  • 描述 Microsoft SQL Server 2014 的基本結構和概念。
  • 了解 Transact-SQL 與其他電腦語言之間的相似性與不同。
  • 編寫 SELECT 查詢

必要條件

  • 關聯式資料庫的工作知識。
  • Microsoft Windows 作業系統及其核心功能的基本知識

課程大綱

模組 1: Microsoft SQL Server 2014 簡介

本模組介紹 SQL Server 平台和主要工具。討論版本,版本,用於查詢的工具,文件來源以及資料庫的邏輯結構。

課程

  • SQL Server 的基本架構
  • SQL Server 版本和版本
  • SQL Server Management Studio 入門

實驗室 : 使用 SQL Server 2014 工具

完成本模組後,您將能够:

  • 描述 SQL Server 2012 的體系結構和版本。
  • 使用 SQL Server Management Studio。

模組 2: T-SQL 查詢簡介

本模組介紹 Transact SQL 作為 SQL Server 的主要查詢語言。討論 T-SQL 查詢的基本結構,SELECT 語句的邏輯流程,並介紹述詞和集合型的操作等概念。

課程

  • 介紹 T-SQL
  • 了解集合
  • 了解述詞邏輯
  • 了解 SELECT 陳述式中的邏輯操作順序

實驗室 : Transact-SQL 查詢簡介

完成本模組後,您將能够:

  • 描述 T-SQL 的元素及其在編寫查詢中的角色
  • 描述 SQL Server 中集合的使用
  • 描述 SQL Server 中述詞邏輯的使用
  • 描述 SELECT 語句中操作的邏輯順序

模組 3: 編寫 SELECT 查詢

本模組介紹 SELECT 語句的基礎,重點是針對單一資料表的查詢。

課程

  • 編寫簡單的 SELECT 語句
  • 使用 DISTINCT 消除重複
  • 使用資料行和資料表別名
  • 編寫簡單的 CASE 運算式

實驗室 : 編寫基本的 SELECT 語句

完成本模組後,您將能够:

  • 編寫簡單的 SELECT 語句。
  • 使用 DISTINCT 子句消除重複。
  • 使用資料行和資料表別名
  • 編寫簡單的 CASE 運算式

模組 4: 查詢多個資料表

本模組說明如何編寫查詢,這些查詢將來自 SQL Server 多個來源資料組合在一起。該模組介紹在 T-SQL 查詢中使用 JOIN 作為從多個資料表中擷取資料的機制。

課程

  • 了解聯結
  • 使用內部聯結進行查詢
  • 使用外部聯結進行查詢
  • 使用交叉聯結和自我聯結進行查詢

實驗室 : 查詢多個資料表

完成本模組後,您將能够:

  • 描述如何在使用聯結在 SELECT 語句中查詢多個資料表。
  • 編寫使用內部聯結的查詢。
  • 編寫使用外部聯結的查詢。
  • 編寫使用自我聯結和交叉聯結的查詢。

模組 5: 排序和篩選資料

本模組說明如何增強查詢以限制它們返回的列,以及如何控制列的顯示順序。該模組還討論如何解決遺失和未知結果。

課程

  • 排序資料
  • 使用述詞篩選資料
  • 使用 TOP 和 OFFSET-FETCH 進行篩選
  • 使用未知值

實驗室 : 排序和篩選資料

完成本模組後,您將能够:

  • 使用WHERE 子句中的述詞篩選資料。
  • 使用 ORDER BY 對資料進行排序。
  • 使用 TOP 篩選 SELECT 子句中的資料。
  • 使用 OFFSET 和 FETCH 篩選資料。

模組 6: 使用 SQL Server 2014 資料類型

本模組說明 SQL Server 用於存放資料的資料類型。介紹許多類型的數字和特殊用途的資料類型。還說明資料類型之間的轉換以及類型優先順序的重要性。

課程

  • 介紹 SQL Server 2014 資料類型
  • 使用字元資料
  • 使用日期和時間資料

實驗室 : 使用 SQL Server 2014 資料類型

完成本模組後,您將能够:

  • 描述數字資料類型,類型優先順序和類型轉換。
  • 使用字元資料類型編寫查詢。
  • 使用日期和時間資料類型編寫查詢。

模組 7: 使用 DML 修改資料

本模組描述使用 Transact-SQL 資料操作語言對您的資料執行插入,更新和刪除。

課程

  • 插入資料
  • 修改和刪除資料

實驗室 : 使用 DML 修改資料

完成本模組後,您將能够:

  • 將新資料插入資料表中。
  • 更新和刪除資料表中的現有記錄。

模組 8: 使用內建功能

本模組介紹 SQL Server Denali 內建功能的用法,並將討論一些常見用法,包括資料類型轉換,邏輯結果測試和可空值性。

課程

  • 使用內建功能編寫查詢
  • 使用轉換功能
  • 使用邏輯函數
  • 使用 NULL 函數

實驗室 : 使用內建功能

完成本模組後,您將能够:

  • 使用內建純量函數編寫查詢。
  • 使用轉換功能。
  • 使用邏輯功能。
  • 使用適用於 NULL 的函數。

模組 9: 分組和匯總資料

本模組介紹用於在查詢中的資料進行分組,彙總已分組的資料並使用 HAVING 篩選群組的方法。該模組旨在幫助學生理解 SELECT 子句為何對 GROUP BY 子句中的資料行命名加以限制,以及哪些資料行可能在 SELECT 子句中列出。

課程

  • 使用匯總函數
  • 使用 GROUP BY 子句
  • 使用 HAVING 篩選群組

實驗室 : 分組和匯總資料

完成本模組後,您將能够:

  • 使用內建的匯總函數編寫匯總資料的查詢。
  • 使用 GROUP BY 子句將列分成群組。
  • 根據搜尋條件使用 HAVING 子句篩選掉群組。

模組 10: 使用子查詢

本模組將介紹 SELECT 語句各個部分中子查詢的用法。將包括使用純量和多個結果子查詢,以及使用 IN 和 EXISTS 運算子。

課程

  • 編寫獨立性的子查詢
  • 編寫相關子查詢
  • 將 EXISTS 述詞與子查詢一起使用

實驗室 : 使用子查詢

完成本模組後,您將能够:

  • 描述在其他查詢中巢狀查詢的用法。
  • 編寫返回純量或多數值結果的獨立性子查詢。
  • 編寫返回純量或多數值結果的相關子查詢。
  • 使用 EXISTS 述詞可以有效檢查子查詢中是否存在列。

模組 11: 使用資料表運算式

該模組介紹 T-SQL 運算式,這些運算式返回有效的關聯式資料表,通常在查詢中進一步使用。該模組討論檢視表,衍生資料表,通用資料表運算式和內嵌資料表值函數。

課程

  • 使用檢視表
  • 使用內嵌資料表值函數
  • 使用衍生資料表
  • 使用通用資料表運算式

實驗室 : 使用資料表運算式

完成本模組後,您將能够:

  • 編寫使用衍生資料表的查詢。
  • 編寫使用通用資料表運算式的查詢。
  • 建立簡單的檢視表並針對它們編寫查詢。
  • 建立簡單的內嵌資料表值函數,並針對它們編寫查詢。

模組 12: 使用集合運算子

該模組介紹集合運算子 UNION,INTERSECT 和 EXCEPT 來比較兩個輸入集合之間的列

課程

  • 使用 UNION 運算子編寫查詢
  • 使用 EXCEPT 和 INTERSECT
  • 使用 APPLY

實驗室 : 使用集合運算子

完成本模組後,您將能够:

  • 使用 UNION 運算子編寫合併資料的查詢
  • 使用 INTERSECT 和 EXCEPT 運算子編寫比較集合的查詢
  • 編寫查詢,透過使用 APPLY 和衍生資料表或函數的結果來操縱資料表中的列

模組 13: 使用視窗排名,位移和彙整函數

該模組介紹視窗函數,包括排名,匯總和位移功能。此功能大部分是 SQL Server 2012 的新增功能。將涵蓋如何使用 T-SQL 函數(例如 ROW_NUMBER,RANK,DENSE_RANK,NTILE,LAG,LEAD,FIRST_VALUE和LAST_VALUE)對一組行或視窗列執行計算。

課程

  • 使用 OVER 建立 Windows
  • 探索視窗函數

實驗室 : 使用視窗排名,位移和彙整函數

完成本模組後,您將能够:

  • 描述使用視窗函數的好處。
  • 將視窗函數限制為 OVER 子句中定義的列,包括分割和框架。
  • 編寫使用視窗函數對視窗列進行操作並返回排名,匯總和位移比較結果的查詢。

模組 14: 扭轉和分組集

本模組討論在 T-SQL 中扭轉資料的技術,並介紹 GROUPING SETS 子句的基礎。還將介紹 SQL Server 中 GROUP BY ROLLUP 和 GROUP BY CUBE 語法的使用。

課程

  • 使用 PIVOT 和 UNPIVOT 編寫查詢
  • 使用分組集

實驗室 : 扭轉和分組集

完成本模組後,您將能够:

  • 編寫扭轉和不可扭轉結果集的查詢。
  • 編寫使用分組集指定多個分組的查詢。

模組 15: 使用存放程序查詢資料

本模組介紹 T-SQL 查詢環境中現有存放程序的使用。討論 EXECUTE 的用法,如何將輸入和輸出參數傳遞給程序以及如何啟動系統存放程序。

課程

  • 使用 PIVOT 和 UNPIVOT 編寫查詢
  • 將參數傳遞給存放程序
  • 建立簡單的存放程序
  • 使用動態SQL

實驗室 : 執行存放程序

完成本模組後,您將能够:

  • 透過執行存放程序返回結果。
  • 將參數傳遞給程序。
  • 建立封裝 SELECT 語句的簡單存放程序。
  • 使用 EXEC 和 sp_executesql 建構和執行動態 SQL。

模組 16: 使用 T-SQL 進行程式設計

本模組提供有關 T-SQL 程式設計概念和物件的基本介紹。討論批次,變數,如迴圈和條件式流程元素的控制,如何建立和執行動態 SQL 語句以及如何使用同義字。

課程

  • T-SQL 程式設計元素
  • 控制程式流程

實驗室 : 使用 T-SQL 進行程式設計

完成本模組後,您將能够:

  • 描述用於簡單程式設計工作的 T-SQL 語言元素。
  • 描述批次以及 SQL Server 如何處理它們。
  • 宣告並指派變數和同義字。
  • 使用 IF 和 WHILE 區塊來控制程式流程。

模組 17: 實作錯誤處理

本模組介紹 T-SQL 原始碼中錯誤錯誤處理常式的使用。將介紹編譯錯誤和執行階段錯誤之間的區別,並將涵蓋錯誤如何影響批次。該模組還將涵蓋如何使用 TRY/CATCH 區塊控制錯誤處理,如何使用 ERROR 類別函數以及如何使用新的 THROW 語句。

課程

  • 使用 TRY/CATCH 區塊
  • 處理錯誤資訊

實驗室 : 實作錯誤處理

完成本模組後,您將能够:

  • 描述在 T-SQL 程式碼中發生錯誤時 SQL Server 的行為。
  • 在 T-SQL 中實作結構化例外處理。
  • 從系統物件返回有關錯誤的資訊。
  • 引發使用者定義的錯誤,並在 T-SQL 程式碼中傳遞系統錯誤。

模組 18: 實作交易

本模組介紹 SQL Server 中交易管理的概念。將提供交易屬性的高等級概觀,涵蓋使用 BEGIN,COMMIT 和 ROLLBACK 標記交易的基本知識。

課程

  • 交易和資料庫引擎
  • 控制交易

實驗室 : 實作交易

完成本模組後,您將能够:

  • 描述交易以及批次和交易之間的差異。
  • 描述批次以及 SQL Server 如何處理它們。
  • 使用交易控制語言語句建立和管理交易。
  • 使用 SET XACT_ABORT 定義 SQL Server 對 TRY / CATCH 區塊之外的交易處理。
  • 描述隔離等級對交易的影響。

模組 19: 附錄 1: 改善查詢效能

本模組介紹一些用於編寫執行良好查詢的關鍵準則,以及監視查詢執行及其對 Microsoft SQL Server 影響的方法

課程

  • 查詢效能的因素
  • 顯示查詢效能資料

實驗室 : 改善查詢效能

完成本模組後,您將能够:

  • 描述執行良好的查詢的元件。
  • 顯示和解譯基本查詢效能資料

模組 20: 附錄 2: 查詢 SQL Server 中繼資料

SQL Server 透過使用各種機制(例如系統目錄檢視表,系統功能,動態管理物件和系統存放程序)提供對結構化中繼資料的存取。在本模組中,您將學習如何使用這些機制編寫查詢以返回系統中繼資料。

課程

  • 查詢系統目錄檢視表和功能
  • 執行系統存放程序
  • 查詢動態管理物件

實驗室 : 查詢 SQL Server 中繼資料

完成本模組後,您將能够:

  • 編寫查詢以使用系統檢視表和功能擷取系統中繼資料。
  • 執行系統存放程序以返回系統資訊。
  • 編寫查詢,以使用系統動態管理檢視表和功能擷取系統中繼資料和狀態資訊。