SQL案例解析

出版時間:2011-8  出版社:清華大學出版社  作者:徐桂祥  頁數:489  
Tag標簽:無  

內容概要

本書是一本集10年經驗而成的書,采用循序漸進的編寫方式,著重于實例,以確保理論內容的準確性。本書作者從事Oracle
DBA教學研究工作多年,擁有Oracle最高等級的OCM認證。作者在書中,將他畢生所學傳授給已擔任DBA工作的數據庫管理人員,或是想要往這個方向發(fā)展的初學者。書中涵蓋一套最完整,且最具邏輯性的知識體系,特別適合有經驗的DBA閱讀,可作為其顧問級專家進階的階梯。

作者簡介

擁有多年半導體相關合格率分析軟件的開發(fā)經驗,曾參與臺灣積體電路、聯電、力晶半導體、新加坡特許半導體、中國大陸龍騰光電等合格率分析軟件的開發(fā)及項目導入。    擅長性能調整、海量數據分析處理以及統(tǒng)計應用軟件的開發(fā)。    擁有MCITP:Database DeveloDer、OraclePL/SQL OCP國際認證。

書籍目錄

第1章 數據庫的使用
1.1 什么是SQL
1.2 程序語言或數據庫
1.3 SQL Server 概述
1.4 Oracle概述
第2章 SELECT查詢語句
2.1 基本SELECT子句
2.2 字段選擇(SELECT)
2.3 指定數據源(FROM)
2.4 指定查詢限定條件(WHERE)
2.4.1 比較運算符
2.4.2 以邏輯運算符組合多個條件
2.4.3 列舉項目(IN / NOT IN)
2.4.4 NULL選取
2.4.5 范圍限制(BETWEEN...AND)
2.4.6 字符模糊匹配
2.5 查詢結果的排序(ORDER BY)
2.6 數據分組(GROUP BY)
第3章 基本SQL用法
3.1 SQL編寫風格
3.2 數據表連接的使用
3.2.1 內連接
3.2.2 外連接
3.2.3 交叉連接
3.3 子查詢
3.3.1 嵌套子查詢
3.3.2 相關子查詢
3.4 集合的使用
3.4.1 并集(UNION)
3.4.2 交集(INTERSECT)
3.4.3 差集(MINUS)
3.5 CASE表達式
3.5.1 簡單型CASE子句
3.5.2 搜索式CASE子句
3.6 HAVING子句的使用
3.7 DISTINCT語法的使用
3.8 特殊SQL排序法
3.8.1 CASE表達式
3.8.2 字符串位置函數(INSTR、CHARINDEX)
3.8.3 COUNT函數(聚合函數)
3.9 如何取得兩數據集中非重復的數據
3.9.1 FULL OUTER JOIN
3.9.2 區(qū)域去除
3.10 如何避免除零錯誤(Avoid Diving by Zero)
第4章 數據變更處理
4.1 新增─INSERT
4.1.1 數據輸入(INSERT...VALUES)
4.1.2 數據來自其他表(INSERT...SELECT)
4.2 序列值的使用
4.3 取得當前自動編號值
4.3.1 SCOPE_IDENTITY()
4.3.2 OUTPUT
4.3.3 RETURNING
4.4 更新數據─UPDATE
4.5 刪除數據─DELETE
4.5.1 刪除特定數據
4.5.2 使用連接刪除數據(DELETE With JOIN)
4.5.3 刪除重復的數據
4.5.4 刪除大量數據
4.5.5 清空數據表(TRUNCATE TABLE)
第5章 數據類型
5.1 基本數據類型
5.1.1 字符類型
5.1.2 數值類型
5.1.3 日期類型
5.2 數據類型的選擇
5.3 類型轉換
5.4 NULL概述
第6章 字符串函數的使用
6.1 字符串函數介紹
6.1.1 字符串連接
6.1.2 截取子串
6.1.3 字符位置
6.1.4 獲取字符串長度(字符個數)
6.1.5 刪除空格(特定字符)
6.1.6 字符串替換
6.1.7 字符串填補
6.1.8 變換字符/字符ASCII碼
6.1.9 變換大小寫
6.2 字符串模糊比較
6.3 是否為數值字符串
6.4 中文字判斷
6.5 篩選特定字符串前綴─以半導體實驗生產批號為例
6.6 固定長度字符串─以特定字符補足長度
6.7 特定字符出現次數─以面板檢測結果為例
第7章 日期函數的使用
7.1 格式轉換
7.2 取得部分日期信息
7.3 日期運算的概念
7.4 日期加減運算
7.5 取得兩個日期/時間的差
7.6 取得特定日期
7.7 找出下個周五
第8章 數值函數的使用
8.1 數值函數
8.1.1 余數(MOD)和商數
8.1.2 常用的數值運算函數
8.1.3 次方、平方根、自然對數、對數、EXP(e)
8.1.4 圓周率(PI)、三角函數(Sin、Cos、Tan)
8.2 轉換函數
8.3 SQL Server數學運算時的注意事項
8.4 判斷是否為整數─余數的應用
8.5 判斷兩個日期前后順序─SIGN函數的應用
第9章 SQL用法進階
9.1 數據行轉置─Row To Column
9.1.1 通過SQL命令實現轉置
9.1.2 使用PIVOT命令實現轉置
9.2 數據列轉置─Column To Row
9.3 員工專長明細
9.4 累計匯總
9.5 匯總數據
9.6 數據記錄的排序——傳回各種書籍訂單訂購數量排名
9.7 每個部門中薪水最高的員工
9.8 機群分組合并狀態(tài)
9.9 個稅計算
9.10 商品組合
9.11 求職網
9.12 Defect Overlap─缺陷重疊分析
9.13 職務代理關系表/系統(tǒng)異常處理人員順序表
9.14 組織圖─樹型結構展開
第10章 日期區(qū)間報表
10.1 日報
10.1.1 日期類型
10.1.2 字符類型
10.2 月報
10.2.1 日期類型
10.2.2 字符類型
10.3 周報
10.3.1 周的特殊定義
10.3.2 運算差異分析
10.4 小時區(qū)間報表
10.4.1 3小時區(qū)間報表
10.4.2 5小時區(qū)間報表
10.4.3 利用序列產生報表
10.5 科學園區(qū)四二輪報表
10.5.1 四二輪報表-日報
10.5.2 四二輪報表-月報
10.5.3 四二輪報表-周報
10.5.4 綜合日期報表
10.6 完整日期區(qū)間報表
10.6.1 完整日期報表-未轉置
10.6.2 完整日期報表-以產品轉置
10.6.3 完整日期報表-以日期轉置
第11章 存儲過程
11.1 存儲過程
11.1.1 程序
11.1.2 函數
11.1.3 錯誤來源
11.1.4 加密
11.2 觸發(fā)器
11.3 游標的使用
11.4 程序包
11.5 用戶自定義聚合函數
第12章 異質數據源
12.1 分布式查詢─Database Link
12.2 SQL Server串聯其他數據源
12.2.1 查詢
12.2.2 INSERT / UPDATE
12.2.3 對象及查詢命令的差異
12.2.4 結合異質數據
12.3 SQL*Loader(SQLLDR)
第13章 特殊應用
13.1 Oracle CONNECT BY命令特殊應用
13.1.1 序列產生
13.1.2 Column To Row(UNPIVOT)
13.1.3 分組字符串合并
13.1.4 解析CSV字符串
13.2 通用表表達式的使用─CTE
13.2.1 非遞歸的運用─查詢暫存
13.2.2 遞歸的運用
13.3 序列數據表的應用
13.4 隨機數
13.5 IN-LIST的使用
13.6 制程能力指標
13.7 系統(tǒng)數據表的使用
13.8 在SQL Server中進行字符串分組串聯─FOR XML應用

章節(jié)摘錄

版權頁:插圖:當面對一個新的需求時,系統(tǒng)設計(System Design,SD)人員在設計開發(fā)系統(tǒng)時,需考慮是使用應用程序還是使用數據庫。對于運算選用數據庫還是應用程序,是一個仁者見仁智者見智的話題,依開發(fā)人員的背景、技術專長不同而有所不同。若選擇以SQL命令或編寫程序代碼方式實現,下面列出幾個思考方向:1.系統(tǒng)效率首先,對于我們(IT行業(yè))而言,不管采用何種方式,最終評判、承受所選擇結果的是一般使用者;對于開發(fā)人員而言,所面對的是系統(tǒng)開發(fā)期間(短暫)搭建的測試環(huán)境,而一般情況下,測試環(huán)境只能模擬真實環(huán)境中的一小部分(甚至是極小的一部分)。雖然本書的重點在于SQL技巧,但在此強調,不是所有的工作都應該(考慮)使用SQL命令、甚至使用一組SQL來完成,在此強調要以整體效率為首要考慮因素,善用數據庫端、應用程序端的特點。數據庫的優(yōu)勢在于查詢、匯總計算大量數據等,但在逐筆運算、文字處理等能力上,則一般開發(fā)語言(如C#、Java)較為擅長。當面臨系統(tǒng)效率不佳時,不要立即懷疑SQL或應用程序編寫不當,可將事務依運行特性分割成小段,逐段分析并排除影響因子,探究效率真正瓶頸,以期達到整體效率較佳。當在程序循環(huán)中發(fā)現反復執(zhí)行某組SOL時,單單一組SQL執(zhí)行,效率或許可達到要求,但整體執(zhí)行時間必須乘上執(zhí)行次數。一般來說,此舉將造成數據庫效率極為低下與資源大量耗用,此種情況下請進行Code Review,通常這是徹底解決效率低下的主要途徑。

編輯推薦

《SQL案例解析:以SQL Server與Oracle為例》匯集作者多年的數據庫開發(fā)經驗,同時探討SQL語法、Oracle及SQL Server這兩種企業(yè)級數據庫的應用。書中涵蓋許多極具商業(yè)價值的案例,特別適合已具有Oracle或SQL Server經驗的數據庫開發(fā)人員、DBA、軟件架構師、數據庫應用及維護人員閱讀。借助《SQL案例解析:以SQL Server與Oracle為例》,可幫助他們形成解決實際問題的思路并提高問題處理能力?!禨QL案例解析:以SQL Server與Oracle為例》特色:以對比式寫法,整理出Oracle及SQL Server常用函數問的差異。對于原本需要以應用程序或存儲過程實現的需求,嘗試直接以一組SQL指令完成。除了提供另一種思維及解決模式外,更能有效提升數據庫的執(zhí)行效率。探討常見的日期區(qū)間報表的制作方法,以日報,月報、周報、小時區(qū)問報表、科學園區(qū)四:二輪工時報表及完整日期報表為例。詳解如何連接異質數據源,以及如何利用SQL指令實現遞歸、隨機數、篩選等功能?!禨QL案例解析:以SQL Server與Oracle為例》探討的概念及思想同MySQL、DB2、Teradata等數據庫系統(tǒng)。來自工作現場的DBA手記。

圖書封面

圖書標簽Tags

評論、評分、閱讀與下載


    SQL案例解析 PDF格式下載


用戶評論 (總計20條)

 
 

  •   SQL Server與Oracle語法對比很詳細,對一些函數的用法解析的很透徹。推薦已經使用其中一種數據庫而將使用另外一種數據庫的朋友們閱讀。
  •   SQL案例解析這本書很好,得是有些基礎的學者才適合的,講解了作者的一些問題,數據庫開發(fā)是所遇到的情況及解決方法,很適合在工作中遇到問題的開發(fā)者
  •   我是想從基礎開始從頭把SQL過一遍,所以買的此書,感覺很不錯,二個數據庫的方法,對比著講解,從網上下他的本書源碼,學習起來很不錯。
  •   的確是心血之作,涵蓋了日常SQL中的各種非那么普通的情況。
  •   喜歡這種比較實際的書
  •   這本書圖文并茂,講了很多實例,比較適用。
  •   這本書很好,正是我的需要的。
  •   對比講解~~終于分清倆不一樣的地方了。。。
  •   大概看了一遍,正適合現在的我
  •   給別人買的……應該不錯
  •   速度快,還沒看,不過應該不錯
  •   用來學習數據庫的
  •   很實用,不過感覺需要有一個工作經驗再來讀這本書。
  •   案例經單,豐富。 個人覺得無論是新手還是經驗豐富者都可從本書中收益
  •   本書是作者經驗之談,值得借鑒
  •   書的內容很好,但書的外觀不是很新
  •   沒都看,但感覺挺好,主要是描述的方法和內容都有新意
  •   內容很基礎,也比較實用
  •   這個商品不錯,印刷很好,送貨很快。
  •   書還不錯,心儀已久,不過說好的發(fā)票沒有,怎么獲取發(fā)票?求解釋
 

250萬本中文圖書簡介、評論、評分,PDF格式免費下載。 第一圖書網 手機版

京ICP備13047387號-7