SQL Server 2012 T-SQL基礎教程 [Microsoft SQL Server 2012 T-SQL Fundamentals]

SQL Server 2012 T-SQL基礎教程 [Microsoft SQL Server 2012 T-SQL Fundamentals] pdf epub mobi txt 电子书 下载 2025

[美] Itzik Ben-Gan 著,張洪舉,李聯國,張昊天 譯
想要找书就要到 求知書站
立刻按 ctrl+D收藏本页
你会得到大惊喜!!
出版社: 人民邮电出版社
ISBN:9787115332905
版次:1
商品编码:11362891
品牌:异步图书
包装:平装
外文名称:Microsoft SQL Server 2012 T-SQL Fundamentals
开本:16开
出版时间:2013-12-01
用纸:胶版纸
页数:381
字数:556000
正文

具体描述

內容簡介

  《SQL Server 2012 T-SQL基礎教程》全麵係統地介紹瞭SQL Server 2012 T-SQL技術,包括T-SQL查詢和編程的背景、單錶查詢、聯接、子查詢、錶錶達式、集閤運算符、查詢、數據修改、事務和並發處理、可編程對象等內容。
  《SQL Server 2012 T-SQL基礎教程》提供瞭一個附錄“入門指南”,來幫助你設置環境、下載本書的源代碼、安裝TSQL2012示例數據庫、開始編寫SQL Server代碼,並瞭解如何使用SQL Server聯機叢書獲得幫助。本書還提供瞭大量的練習,幫助讀者實踐所學、快速上手。
  《SQL Server 2012 T-SQL基礎教程》主要針對具有很少或是沒有經驗的T-SQL學習者,適用於T-SQL開發人員、DBA、BI從業者、報錶編寫者、分析師以及剛開始使用SQL Server並且需要使用Transact-SQL編寫查詢、開發代碼的用戶。

作者簡介

  Itzik Ben-Gan,Solid Quality Learning的導師和創始人。從1999年開始,他一直是Microsoft SQL Server MVP(最有價值專傢),並在全世界已經開展過無數次T-SQL查詢、T-SQL優化和編程方麵的培訓。Itzik是Microsoft SQL Server方麵幾本著作的作者。他在SQL Server Magazine和MSDN上發錶瞭許多文章和白皮書。Itzik被邀請在許多會議上做報告,包括TechEd、DevWeek、世界各地的各種SQL用戶組、PASS、SQL Server Magazine Connections和Solid Quality Learning的會議。 從1992年開始,Itzik就一直緻力於涉及各種數據庫和計算機係統相關技術的多個課題。除瞭幫助顧客處理緊迫的要求、修復問題、優化數據庫、教學和擔任顧問以外,他還幫助開發人員和數據庫管理員轉變關係/基於集閤的理念,改善他們編寫代碼的性能和可維護性。Itzik擅長T-SQL查詢、查詢優化、編程和內部原理,此外他還精通其他的數據庫領域。1999年,Itzik創立以色列SQLServer和OLAP用戶組,一直管理至今。

內頁插圖

精彩書評

  本書全麵係統地介紹瞭SQL Server 2012 T-SQL技術,包括T-SQL查詢和編程的背景、單錶查詢、聯接、子查詢、錶錶達式、集閤運算符、數據修改、事務和並發處理、可編程對象等內容。
  本書提供瞭一個附錄“入門指南”,來幫助你設置環境、下載本書的源代碼、安裝TSQL2012示例數據庫、開始編寫SQL Server代碼,並瞭解如何使用SQL Server聯機叢書獲得幫助。本書還提供瞭大量的練習,幫助讀者實踐所學、快速上手。

目錄

第1章 T-SQL查詢和編程的背景
1.1 理論背景
1.1.1 SQL
1.1.2 集閤理論
1.1.3 謂詞邏輯
1.1.4 關係模型
1.1.5 數據生命周期
1.2 SQL Server體係結構
1.2.1 SQL Server的ABC特色
1.2.2 SQL Server實例
1.2.3 數據庫
1.2.4 架構和對象
1.3 創建錶和定義數據完整性
1.3.1 創建錶
1.3.2 定義數據完整性
1.4 小結

第2章 單錶查詢
2.1 SELECT語句的元素
2.1.1 FROM子句
2.1.2 WHERE子句
2.1.3 GROUP BY子句
2.1.4 HAVING子句
2.1.5 SELECT子句
2.1.6 ORDER BY子句
2.1.7 TOP和OFFSET-FETCH篩選
2.1.8 開窗函數速覽
2.2 謂詞和運算符
2.3 CASE錶達式
2.4 NULL標記
2.5 同時操作
2.6 使用字符數據
2.6.1 數據類型
2.6.2 排序規則
2.6.3 運算符和函數
2.7 使用日期和時間數據
2.7.1 日期和時間數據類型
2.7.2 日期和時間常量
2.7.3 獨立使用日期和時間
2.7.4 篩選日期範圍
2.7.5 日期和時間函數
2.8 查詢元數據
2.8.1 目錄視圖
2.8.2 信息架構視圖
2.8.3 係統存儲過程和函數
2.9 小結
2.10 練習
2.10.1 練習
2.10.2 練習
2.10.3 練習
2.10.4 練習
2.10.5 練習
2.10.6 練習
2.10.7 練習
2.10.8 練習
2.11 解決方案
2.11.1 解決方案
2.11.2 解決方案
2.11.3 解決方案
2.11.4 解決方案
2.11.5 解決方案
2.11.6 解決方案
2.11.7 解決方案
2.11.8 解決方案

第3章 聯接
3.1 交叉聯接
3.1.1 ANSI SQL-92語法
3.1.2 ANSI SQL-89語法
3.1.3 自交叉聯接
3.1.4 生成數字錶
3.2 內部聯接
3.2.1 ANSI SQL-92語法
3.2.2 ANSI SQL-89語法
3.2.3 內部聯接安全性
3.3 更多聯接示例
3.3.1 復閤聯接
3.3.2 不等聯接
3.3.3 多聯接查詢
3.4 外部聯接
3.4.1 外部聯接的基礎知識
3.4.2 超越外部聯接基礎知識
3.5 小結
3.6 練習
3.6.1 練習1-
3.6.2 練習1-2(可選的高級練習)
3.6.3 練習
3.6.4 練習
3.6.5 練習
3.6.6 練習
3.6.7 練習6(可選的高級練習)
3.6.8 練習7(可選的高級練習)
3.7 解決方案
3.7.1 解決方案1-
3.7.2 解決方案1-
3.7.3 解決方案
3.7.4 解決方案
3.7.5 解決方案
3.7.6 解決方案
3.7.7 解決方案
3.7.8 解決方案

第4章 子查詢
4.1 自包含子查詢
4.1.1 自包含標量子查詢示例
4.1.2 自包含多值子查詢示例
4.2 相關子查詢
4.2.1 EXISTS謂詞
4.3 超越子查詢基礎知識
4.3.1 返迴前一個或下一個值
4.3.2 使用運行聚閤
4.3.3 不當子查詢處理
4.4 小結
4.5 練習
4.5.1 練習
4.5.2 練習2(可選的高級練習)
4.5.3 練習
4.5.4 練習
4.5.5 練習
4.5.6 練習
4.5.7 練習7(可選的高級練習)
4.5.8 練習8(可選的高級練習)
4.6 解決方案
4.6.1 解決方案
4.6.2 解決方案
4.6.3 解決方案
4.6.4 解決方案
4.6.5 解決方案
4.6.6 解決方案
4.6.7 解決方案
4.6.8 解決方案

第5章 錶錶達式
5.1 派生錶
5.1.1 分配列彆名
5.1.2 使用參數
5.1.3 嵌套
5.1.4 多個引用
5.2 公用錶錶達式
5.2.1 在CTE中分配列彆名
5.2.2 在CTE中使用參數
5.2.3 定義多個CTE
5.2.4 CTE中的多個引用
5.2.5 遞歸CTE
5.3 視圖
5.3.1 視圖和ORDER BY子句
5.3.2 視圖選項
5.4 內嵌錶值函數
5.5 APPLY運算符
5.6 小結
5.7 練習
5.7.1 練習1-
5.7.2 練習1-
5.7.3 練習2-
5.7.4 練習2-
5.7.5 練習3(可選的高級練習)
5.7.6 練習4-
5.7.7 練習4-2(可選的高級練習)
5.7.8 練習5-
5.7.9 練習5-
5.8 解決方案
5.8.1 解決方案1-
5.8.2 解決方案1-
5.8.3 解決方案2-
5.8.4 解決方案2-
5.8.5 解決方案
5.8.6 解決方案4-
5.8.7 解決方案4-
5.8.8 解決方案5-
5.8.9 解決方案5-

第6章 集閤運算符
6.1 UNION運算符
6.1.1 UNION ALL多元集閤運算符
6.1.2 UNION非重復項集閤運算符
6.2 INTERSECT運算符
6.2.1 INTERSECT非重復項集閤運算符
6.2.2 INTERSECT ALL多元集閤運算符
6.3 EXCEPT運算符
6.3.1 EXCEPT非重復項集閤運算符
6.3.2 EXCEPT ALL多元集閤運算符
6.4 優先級
6.5 規避不支持的邏輯階段
6.6 小結
6.7 練習
6.7.1 練習
6.7.2 練習
6.7.3 練習
6.7.4 練習
6.7.5 練習5(可選的高級練習)
6.8 解決方案
6.8.1 解決方案
6.8.2 解決方案
6.8.3 解決方案
6.8.4 解決方案
6.8.5 解決方案

第7章 查詢
7.1 開窗函數
7.1.1 排名開窗函數
7.1.2 偏移開窗函數
7.1.3 聚閤開窗函數
7.2 透視數據
7.2.1 使用標準SQL透視
7.2.2 使用本地T-SQL PIVOT運算符透視
7.3 逆透視數據
7.3.1 使用標準SQL逆透視
7.3.2 使用本地T-SQL UNPIVOT運算符逆透視
7.4 分組集
7.4.1 GROUPING SETS從屬子句
7.4.2 CUBE從屬子句
7.4.3 ROLLUP從屬子句
7.4.4 GROUPING和GROUPING_ID函數
7.5 小結
7.6 練習
7.6.1 練習
7.6.2 練習
7.6.3 練習
7.6.4 練習
7.6.5 練習
7.7 解決方案
7.7.1 解決方案
7.7.2 解決方案
7.7.3 解決方案
7.7.4 解決方案
7.7.5 解決方案

第8章 數據修改
8.1 插入數據
8.1.1 INSERT VALUES語句
8.1.2 INSERT SELECT語句
8.1.3 INSERT EXEC語句
8.1.4 SELECT INTO語句
8.1.5 BULK INSERT語句
8.1.6 標識列屬性和序列對象
8.2 刪除數據
8.2.1 DELETE語句
8.2.2 TRUNCATE語句
8.2.3 基於聯接的DELETE
8.3 更新數據
8.3.1 UPDATE語句
8.3.2 基於聯接的UPDATE
8.3.3 賦值UPDATE
8.4 閤並數據
8.5 通過錶錶達式修改數據
8.6 使用TOP和OFFSET-FETCH修改
8.7 OUTPUT子句
8.7.1 INSERT與OUTPUT
8.7.2 DELETE與OUTPUT
8.7.3 UPDATE與OUTPUT
8.7.4 MERGE與OUTPUT
8.7.5 可組閤的DML
8.8 小結
8.9 練習
8.9.1 練習
8.9.2 練習1-
8.9.3 練習1-
8.9.4 練習1-
8.9.5 練習
8.9.6 練習
8.9.7 練習
8.9.8 練習
8.9.9 練習
8.10 解決方案
8.10.1 解決方案1-
8.10.2 解決方案1-
8.10.3 解決方案1-
8.10.4 解決方案
8.10.5 解決方案
8.10.6 解決方案
8.10.7 解決方案

第9章 事務和並發處理
9.1 事務
9.2 鎖和阻塞
9.2.1 鎖
9.2.2 排除阻塞
9.3 隔離級彆
9.3.1 READ UNCOMMITTED隔離級彆
9.3.2 READ COMMITTED隔離級彆
9.3.3 REPEATABLE READ隔離級彆
9.3.4 SERIALIZABLE隔離級彆
9.3.5 基於行版本的隔離級彆
9.3.6 隔離級彆總結
9.4 死鎖
9.5 小結
9.6 練習
9.6.1 練習1-
9.6.2 練習1-
9.6.3 練習1-
9.6.4 練習1-
9.6.5 練習1-
9.6.6 練習1-
9.6.7 練習2-
9.6.8 練習2-
9.6.9 練習2-
9.6.10 練習2-
9.6.11 練習2-
9.6.12 練習2-
9.6.13 練習3-
9.6.14 練習3-
9.6.15 練習3-
9.6.16 練習3-
9.6.17 練習3-
9.6.18 練習3-
9.6.19 練習3-

第10章 可編程對象
10.1 變量
10.2 批
10.2.1 以批為單元的語法分析
10.2.2 批和變量
10.2.3 不能被組閤在同一個批中的語句
10.2.4 以批為單元的解析
10.2.5 GO n選項
10.3 流元素
10.3.1 IF...ELSE流元素
10.3.2 WHILE流元素
10.3.3 使用IF和WHILE的示例
10.4 遊標
10.5 臨時錶
10.5.1 本地臨時錶
10.5.2 全局臨時錶
10.5.3 錶變量
10.5.4 錶類型
10.6 動態SQL
10.6.1 EXEC命令
10.6.2 sp_executesql存儲過程
10.6.3 使用動態SQL的PIVOT
10.7 例程
10.7.1 用戶定義函數
10.7.2 存儲過程
10.7.3 觸發器
10.8 錯誤處理
10.9 小結

附錄A 入門指南
A.1 SQL Database入門
A.2 安裝(企業)內部部署的SQL Server
A.2.1 獲取SQL Server
A.2.2 創建一個用戶賬戶
A.2.3 安裝的必要條件
A.2.4 安裝數據庫引擎、文檔和工具
A.3 下載源代碼和安裝示例數據庫
A.3.1 在(企業)內部部署的SQL Server實例中創建並填充示例數據庫
A.3.2 在SQL Database中創建並填充示例數據庫
A.4 使用SQL Server Management Studio
A.5 使用SQL Server聯機叢書


精彩書摘

  T—SQL查詢和編程的背景即將開始一段旅程,去往一個與眾不同的領地一一它有著自己的一套規則。如果這本書是你學習nansact—SQL(T-SQL)的第一步,你現在應該就像愛麗絲一樣——這之前她剛剛開始瞭在仙境的冒險之旅。對我來說,我的長途旅行仍未結束,相反,這是一條持續充滿瞭新發現的道路。非常羨慕你現在的狀態,但幸運的是,我仍能比你提前得到一些最為激動人心的發現!
  我從事與瞭-SQL相關的工作已經很多年瞭,包括教學、演講、寫作和谘詢。對我來說,T-SQL不僅僅是一種語言一一這更是一種思維方式。我在各地開展瞭瞭-SQL培訓並撰寫瞭許多相關高級主題的文章,而把編寫T-SQL基礎知識的圖書延遲至今,這不是因為T-SQL基礎知識簡單或容易,事實上恰恰相反:語言的貌似簡單往往會是一種誤導,我可以用膚淺的方式在幾分鍾內解釋語言的語法元素並讓你編寫齣查詢,但是這種做法從長期來看隻能拖你的後腿,讓你更難理解語言的本質。
  作為你在這個領域的啓濛者,責任重大,在寫作基礎知識之前,我要確信自己是花瞭足夠的時間和精力去探索、理解語言。T-SQL很深奧,學習基礎知識的正確方法不僅是理解語法元素和編寫一個返迴正確輸齣的查詢,你甚至要忘記你所知道的其他編程語言,並開始思考T-SQL術語。
  1.1 理論背景
  SQL代錶結構化查詢語言(Structured Query Language),是一種在關係數據庫係統(RelatnaI Database Management Systems,RDBMS)中查詢和管理數據的標準語言。RDBMS是基於關係模型(一種錶示數據的語義模型)的數據庫管理係統,它基於兩個數學分支:集閤理論和謂詞邏輯。許多其他編程語言和各種計算都已演化得非常接近一個直觀結果,相比而言,SQL是基於關係模型的,它具有堅實的基礎——應用數學,T-SQL於是便坐在瞭寬廣而堅實的“肩膀”之上,它是微軟公司提供的基於Microsoft SQL Server數據管理軟件(微軟的關係數據管理係統)的SQL的方言或擴展。
  本節提供瞭一個有關SQL、集閤理論和謂詞邏輯、關係模型和數據生命周期的簡短理論背景,由於這本書既不是一本數學圖書,也不是一本設計或數據建模的圖書,此處提供的理論信息比較通俗並且不是很完整,目的是嚮你提供一個T—SQL背景並傳達關鍵要點,以便在後麵能夠完整和正確理解T—SQL。語言獨立性
  關係模型與語言無關。也就是說,可以使用SQL之外的其他語言(例如在類模型中使 用C#)實現關係模型,今天我們經常會看到一些RDBMS支持SQL方言之外的語言,例 如集成在SQI,Server中的CLR。
  此外,從一開始你應該知道SQL與關係模型存在幾方麵的偏差。有人甚至說,應該使 用一種更嚴格遵循關係模型的新語言取代SQL,但是到目前為止,實際上SQL仍被所有 }領先的RDBMS作為工業語言。 參閱:有關SQL與關係模型偏差的詳細信息,以及如何在關係方式中使用SQL,可以參考
  《SQL and Relational Theory))(第2版,作者C.J.Date,O’Reilly Media 2011年齣版)
  的“H0w t0 Write Accurate SOL Code”部分。
  ……

前言/序言

  很高興Itzik能夠有時間和精力宋編寫一本有關T—SQL基礎知識的圖書。多年來,Itzik憑藉他豐富的Microsoft SQL Server教學、輔導和谘詢經驗,編寫瞭許多高級編程方麵的圖書,但這些高級主題的圖書,既不適閤新手和經驗不足的用戶學習,也不閤適許多使用SQt.Server但又不怎麼擅長T—SQL編程的專業人士參考。
  提到T—SQL,Itzik是世界上最博學的人士之一。事實上,在大多數計劃實施的新語言擴展中,我們(SQL Server開發團隊成員)都要嚮Itzik徵求專業的意見,他的反饋和指導已經成為我們SQL Server開發過程中一個重要的組成部分。
  作為一個專業領域的專傢,撰寫一本入門級的圖書從來都不是一項容易的任務。不過,Itzik具有多年講授初級和高級編程課程的優勢,這些經驗是一筆重要的財富,讓他能夠在眾多高級主題中挑選齣最重要的T—SQL基礎知識。但是,在這本書中,Itzik沒有簡單地迴避那些被認為是高級的話題,他不畏挑戰,通過簡單的術語介紹瞭許多如集閤理論、謂詞邏輯和關係模型等一直被認為是很復雜的對象,並為讀者提供瞭足夠的信息,以便讀者能夠理解這些復雜對象對SQL語言的重要性。這樣做的結果是,讀者不僅能夠瞭解亞SOL的工作原理,還能知道為什麼要這樣做。
  對於編程手冊和圖書,使用有說服力的示例來傳達要討論的主題,是最好的講解方式。本書包含瞭很多示例,讀者可以從Itzik的網站上下載它們。T—SQL是一種基於正式SQL語言ISO和ANSI標準的方言,但它擁有眾多的擴展,可以提高T—SOL代碼的錶現能力和簡潔程度。在Itzik給齣的許多示例中,針對同一個演練,同時提供瞭T—SOL方言解決方案和等效的ANSI SQL解決方案,這樣做的好處是,能夠讓熟悉T—SOI,的讀者瞭解ANSI版本的SQL,並且能夠讓開發人員編寫齣可以輕鬆部署在多個不同數據庫平颱上的SO、L代碼。
  Itzik與SQL Server團隊的深度交流體現在第1章“T—SQL查詢和編程的背景”中他對SQI.Server的應用、盒子和雲(Appl:lance、Box和Cloud,簡稱ABC)特點的解釋。迄今為止,我看到術語ABC隻是在Mici.osoft SQL Server.團隊內部使用,但我確信該術語的傳播隻是時間問題。Itzik在本書中針對SQL Server.的Box和Cloud特點,開發並測試瞭大量的示例。在本書的附錄中,還指齣瞭讀者可以從什麼地方開始使用SQL Server的雲版本,即WindowsAzure SO、Database。因此,你可以將本書作為自己雲體驗的起點,Azure網站展示瞭如何訂閱免費的Azure服務,這樣你就能夠執行本書中的示例瞭。
  SQL Server的“盒子”特色,正式的稱謂是(企業)內部部署的SQL Server,這是傳統的部署方式,通常安裝在客戶場所內。客戶負責所有的事情,包括硬件、安裝軟件、處理更新、高可用性和災難恢復(HADR)、安全,以及其他事項。
  SQI+Server.的雲擴展是極為重要的一點,你不應錯過。我認為它是如此重要,以緻我在這裏做瞭一些本不應該在前言中做的事情——為另一本書做廣告(抱歉,Itzik,我不得不這樣做!)。在閱讀瞭Nicholas G Carr的《大轉摺》(.Fhe:Big Switch,ww Norton and Company,2009)之後,我在雲計算方麵的興趣和信心暴漲,因此我要分享這一感受。這是一本非常有意義的圖書,它將20世紀初的電氣化與雲計算的進展進行瞭對比。通過觀看.James Hamilton在MIXl0會議上的“Cloud Computing Economies ofScale(雲計算的規模經濟)”演講,我對雲計算未來的認識得到瞭進一步的提升(錄音訪問。
  你應該知道,Itzik提到瞭很多與雲計算相關的變化:過去,我們習慣於隔幾年發布一個SQ〔.Server版本,但是隨著雲的到來,這種模式發生瞭顯著的變化;而現在,你應該每年為部署在全球各地的Microsoft Data Centers中的幾個較小的雲版本(稱為Service LJpdates)做好準備。因此,Itzik明智地選擇瞭在他的網站上討論SQL Server和Windows Azure SQL Database中的T—SOL差異,而不是在本書中展開,這樣他就能夠很容易地保持最新的信息。
  希望你喜歡這本書(甚至更多),很高興它能帶給你對T—SQL的新見解。
  Lubor Kollar
  微軟公司SOL Server開發團隊

用户评价

评分

内容和讲解当时挺好,不过现在正版图书质量可真差,有图有真相。

评分

书包装很好,人邮的书还是可以信赖的。

评分

不错

评分

急需的工具书

评分

非常好!内容翔实,并且有练习题目,有答案

评分

书还没看完,不错!!!

评分

送货速度很快,图书质量很好?

评分

SQL教科书

评分

买了这个入门款。和高级版

相关图书

本站所有內容均為互聯網搜索引擎提供的公開搜索信息,本站不存儲任何數據與內容,任何內容與數據均與本站無關,如有需要請聯繫相關搜索引擎包括但不限於百度google,bing,sogou

© 2025 tushu.tinynews.org All Rights Reserved. 求知書站 版权所有