第1章 SELECT
1.1 基本的SELECT語句
1.1.1 從所有行中選擇指定列
1.1.2 從所有行中選擇所有列
1.2 使用基本WHERE子句的SELECT查詢
1.2.1 使用WHERE子句指定結果集中返回的行
1.2.2 組合搜索條件
1.2.3 否定搜索條件
1.2.4 保持WHERE子句無歧義
1.3 使用運算符和表達式
1.3.1 在數據范圍搜索中使用BETWEEN
1.3.2 使用比較運算符
1.3.3 檢測NULL值
1.3.4 返回基于一組值的行
1.3.5 LIKE和通配符的結合使用
1.4 對結果排序
1.4.1 使用ORDER BY子句
1.4.2 在排序的結果中使用TOP關鍵字
1.5 數據分組
1.5.1 使用GROUP BY子句
1.5.2 使用GROUP BY ALL
1.5.3 使用HAVING選擇性地查詢分組的數據
1.6 SELECT子句技術
1.6.1 使用DISTINCT消除重復值
1.6.2 在聚合函數中使用DISTINCT
1.6.3 使用列別名
1.6.4 使用SELECT創(chuàng)建腳本
1.6.5 執(zhí)行字符串拼接
1.6.6 使用SELECT創(chuàng)建逗號分隔的列表
1.6.7 使用INTO子句
1.7 子查詢
1.8 從多個數據源查詢
1.8.1 使用內聯(lián)結
1.8.2 使用外聯(lián)結
1.8.3 使用交叉聯(lián)結
1.8.4 實現自聯(lián)結
1.8.5 使用衍生表
1.8.6 使用UNION組合結果集
1.9 使用APPLY來為每行調用表值函數
1.9.1 使用CROSS APPLY
1.9.2 使用OUTER APPLY
1.10 數據源高級技術
1.10.1 使用TABLESAMPLE來返回隨機行
1.10.2 使用PIVOT來把單列值轉化為多列和聚合數據
1.10.3 使用UNPIVOT規(guī)范化數據
1.10.4 使用EXCEPT和INTERSECT返回不重復的或匹配的行
1.11 匯總數據
1.11.1 使用WITH CUBE匯總數據
1.11.2 使用GROUPING和WITH CUBE
1.11.3 使用WITH ROLLUP來匯總數據
1.12 提示
1.12.1 使用聯(lián)結提示
1.12.2 使用查詢提示
1.12.3 使用表提示
1.13 公共表表達式
1.13.1 使用非遞歸的公共表表達式
1.13.2 使用遞歸的公共表表達式
第2章 INSERT、UPDATE和DELETE
2.1 INSERT
2.1.1 向表中插入一行
2.1.2 使用默認值插入行
2.1.3 顯式向一個IDENTITY列插入值
2.1.4 在表中插入擁有uniqueidentifier列的行
2.1.5 使用INSERT...SELECT語句插入行
2.1.6 調用存儲過程插入數據
2.2 UPDATE
2.2.1 更新一行
2.2.2 根據FROM和WHERE子句更新行
2.2.3 更新大值數據類型的列
2.2.4 使用OPENROWSET和BULK插入或更新圖片文件
2.3 DELETE
2.3.1 刪除行
2.3.2 截斷表
2.4 OUTPUT子句
2.5 使用TOP分塊修改數據
第3章 事務、鎖定、阻塞和死鎖
3.1 事務控制
3.1.1 使用顯式事務
3.1.2 使用DBCC OPENTRAN顯示最早的活動事務
3.2 鎖定
3.3 事務、鎖定和并發(fā)
3.4 阻塞
3.4.1 找到并解決阻塞進程
3.4.2 使用SET LOCK TIMEOUT
3.5 死鎖
3.5.1 使用跟蹤標志位找出死鎖
3.5.2 設置死鎖優(yōu)先級
第4章 表
4.1 表基礎
4.1.1 創(chuàng)建表
4.1.2 為既有表添加列
4.1.3 修改列定義
4.1.4 創(chuàng)建計算列
4.1.5 刪除表中的列
4.1.6 報告表信息
4.1.7 刪除表
4.2 排序規(guī)則基礎
4.2.1 查看排序規(guī)則元數據
4.2.2 指定列的排序規(guī)則
4.3 鍵
4.3.1 創(chuàng)建有主鍵的表
4.3.2 為既有表增加主鍵約束
4.3.3 創(chuàng)建一個有外鍵引用的表
4.3.4 為既有表增加外鍵
4.3.5 創(chuàng)建遞歸外鍵引用
4.3.6 允許外鍵的級聯(lián)修改
4.4 代理鍵
4.4.1 在創(chuàng)建表的時候使用IDENTITY屬性
4.4.2 使用DBCC CHECKIDENT來查看和糾正IDENTITY種子值
4.4.3 使用ROWGUIDCOL屬性
4.5 約束
4.5.1 創(chuàng)建唯一約束
4.5.2 為既有表增加UNIQUE約束
4.5.3 使用CHECK約束
4.5.4 為既有表增加CHECK約束
4.5.5 禁止和啟用約束
4.5.6 在表創(chuàng)建時使用DEFAULT約束
4.5.7 為既有表增加DEFAULT約束
4.5.8 從表刪除約束
4.6 臨時表和表變量
4.6.1 為批處理的多次查找使用臨時表
4.6.2 創(chuàng)建表變量來保存臨時結果集
4.7 管理超大型表
4.7.1 實現表分區(qū)
4.7.2 檢測數據在分區(qū)中的位置
4.7.3 增加新的分區(qū)
4.7.4 移除分區(qū)
4.7.5 把分區(qū)移動到不同的表
4.7.6 移除分區(qū)函數和分區(qū)方案
4.7.7 把表放入文件組
第5章 索引
5.1 索引預覽
5.1.1 創(chuàng)建表索引
5.1.2 在非鍵列上強制唯一性
5.1.3 創(chuàng)建組合索引
5.1.4 定義索引列排序方向
5.1.5 查看索引元數據
5.1.6 禁用索引
5.1.7 刪除索引
5.1.8 使用DROP_EXISTING改變既有索引
5.2 控制索引創(chuàng)建的性能和并發(fā)性
5.2.1 在Tempdb中創(chuàng)建臨時索引
5.2.2 控制索引創(chuàng)建的并發(fā)執(zhí)行計劃
5.2.3 在索引創(chuàng)建過程中允許用戶表訪問
5.3 索引選項
5.3.1 使用索引INCLUDE
5.3.2 使用PAD_INDEX和FILLFACTOR
5.3.3 禁用頁和/或行索引鎖定
5.4 管理超大型索引
5.4.1 在文件組上創(chuàng)建索引
5.4.2 實現索引分區(qū)
第6章 全文搜索
6.1 全文索引和全文目錄
6.1.1 創(chuàng)建全文目錄
6.1.2 創(chuàng)建全文索引
6.1.3 修改全文目錄
6.1.4 修改全文索引
6.1.5 刪除全文目錄
6.1.6 刪除全文索引
6.1.7 獲取全文目錄和全文索引的元數據
6.2 基本搜索
6.2.1 使用FREETEXT來搜索全文索引的列
6.2.2 使用CONTAINS來搜索單詞
6.3 高級搜索
6.3.1 使用CONTAINS和通配符來搜索
6.3.2 使用CONTAINS來搜索變形匹配
6.3.3 使用CONTAINS根據詞的相鄰搜索結果
6.4 排名搜索
6.4.1 根據含義返回排名搜索結果
6.4.2 根據權值返回排名搜索結果
第7章 視圖
7.1 普通視圖
7.1.1 創(chuàng)建基本視圖
7.1.2 查詢視圖定義
7.1.3 數據庫視圖報表
7.1.4 刷新視圖定義
7.1.5 修改視圖
7.1.6 刪除視圖
7.1.7 使用視圖修改數據
7.2 視圖加密
7.3 索引視圖
7.3.1 創(chuàng)建索引視圖
7.3.2 強制優(yōu)化器為索引視圖使用索引
7.4 分區(qū)視圖
第8章 SQL Server函數
8.1 聚合函數
8.1.1 返回平均值
8.1.2 返回行總數
8.1.3 找出表達式中的最小和最大值
8.1.4 返回值的和
8.1.5 使用統(tǒng)計聚合函數
8.2 數學函數
8.3 字符串函數
8.3.1 把字符值轉化為ASCII以及把ASCII轉回字符
8.3.2 返回整數和字符Unicode值
8.3.3 獲取字符串中另一個字符串的起始位置
8.3.4 使用通配符找到一個字符串中另一個字符串的起始位置
8.3.5 檢測字符串相似度
8.3.6 獲取字符串最左和最右部分
8.3.7 檢測字符串中的字符數或者字節(jié)數
8.3.8 把字符串的一部分替換成另一個字符串
8.3.9 把字符串填充到字符串中
8.3.10 把字符值轉化為小寫、大寫以及合適的大小寫
8.3.11 移除前導和尾部空格
8.3.12 重復一個表達式N次
8.3.13 重復一個空格N次
8.3.14 逆序輸出表達式
8.3.15 返回表達式的一塊
8.4 處理NULL
8.4.1 替換NULL為替代值
8.4.2 使用ISNULL進行靈活的搜索
8.4.3 返回表達式列表中第一個非NULL值
8.4.4 當兩個表達式相等的時候返回NULL值,否則返回第一個表達式
8.5 日期函數
8.5.1 返回當前日期和時間
8.5.2 增加或減少日期值
8.5.3 找出兩個日期的差
8.5.4 顯示日期一部分的字符串值
8.5.5 使用DATEPART顯示日期一部分的整數值
8.5.6 使用YEAR、MONTH和DAY顯示日期部分的整數值
8.6 使用Convert和Cast轉換數據類型
8.6.1 轉換數據類型
8.6.2 進行數據轉換
8.6.3 計算表達式是日期還是數字
8.7 排名函數
8.7.1 使用遞增行號
8.7.2 根據排名返回行
8.7.3 根據無間隔排名返回行
8.7.4 使用NTILE
8.8 使用系統(tǒng)函數檢測服務器、數據庫以及連接級別的配置
8.8.1 使用SQL Server的每周第一天設置
8.8.2 查看當前會話使用的語言
8.8.3 查看和設置當前連接鎖超時設置
8.8.4 顯示當前存儲過程上下文的嵌套級別
8.8.5 返回當前SQL Server實例名和SQL Server版本
8.8.6 返回當前連接的會話ID(SPID)
8.8.7 返回打開事務的數量
8.8.8 獲取之前語句影響的行
8.8.9 使用系統(tǒng)統(tǒng)計函數
8.8.10 顯示數據庫和SQL Server設置
8.8.11 返回當前數據庫ID和名稱
8.8.12 返回數據庫對象名和ID
8.8.13 返回當前用戶會話的應用程序和主機
8.8.14 獲取當前用戶和登錄名上下文
8.8.15 查看用戶連接選項
8.9 IDENTITY和uniqueidentifier函數
8.9.1 返回最后一個標識值
8.9.2 返回標識列的種子和增量值
8.9.3 創(chuàng)建新的uniqueidentifier值
第9章 條件處理、流控制和游標
第10章 存儲過程
第11章 用戶定義函數和類型
第12章 觸發(fā)器
第13章 CLR集成
第14章 XML
第15章 Web服務
第16章 錯誤處理
第17章 主體
第18章 安全對象和權限
第19章 加密
第20章 Service Broker
第21章 配置和查看SQL Server的選項
第22章 創(chuàng)建和配置數據庫
第23章 數據庫完整性和優(yōu)化
第24章 維護數據庫對象和對象依賴
第25章 數據庫鏡像
第26章 數據庫快照
第27章 鏈接服務器和分布式查詢
第28章 性能調優(yōu)
第29章 備份與恢復
索引