《Excel 2010 SQL完全套用》是2011年電子工業出版社出版的圖書,作者是林盤生等。
基本介紹
- 書名:Excel 2010 SQL完全套用
- 作者:林盤生等編著
- ISBN:978-7-121-14037-2
- 頁數:496頁
- 定價:69.00元(含光碟1張)
- 出版時間:2011年8月出版
- 開本:16開
編輯推薦,宣傳語,內 容 提 要,自 序,前 言,讀者對象,閱讀指南,致謝與作者,目 錄,
編輯推薦
本書是“Excel疑難千尋千解”叢書之一,為讀者展示了在Excel 2010中運用SQL語句解決疑難問題的實戰技巧。本書包含SQL基礎入門、運算符、常用函式、日期、排序、聚合函式、連線查詢、子查詢、SQL與數據透視表、SQL與VBA等方面的套用技巧,以及SQL語句的綜合套用。
宣傳語
ExcelTip net出品
微軟全球最有價值專家力作
內 容 提 要
本書是“Excel疑難千尋千解”叢書之一,為讀者展示了在Excel 2010中運用SQL語句解決疑難問題的實戰技巧。本書包含SQL基礎入門、運算符、常用函式、日期、排序、聚合函式、連線查詢、子查詢、SQL與數據透視表、SQL與VBA等方面的套用技巧,以及SQL語句的綜合套用。
本書包括200個疑難案例,每個疑難都包含一個或多個解決方案,並融入了一個或多個知識點的講解。在解決問題的同時,引導讀者學習Excel 2010中SQL套用的原理和擴展知識。書中還介紹了SQL的部分通用語句,讀者可以直接套用於實際工作中。閱讀本書後,不僅有助於提升讀者在SQL運用方面的理論水平和綜合實戰能力,還有助於解決讀者在實際工作中可能出現的諸多難題,提高工作效率。
本書非常全面地闡述了SQL語言在Excel中的套用,SQL語法介紹具體全面,案例貼近實際,講解深入透徹,幫助讀者更加深入了解SQL語言,同時也揭開了SQL語言在Excel中使用的神秘面紗。
自 序
尋,是一種尺度。古時八尺為一尋,王安石詩云“飛來峰上千尋塔,聞說雞鳴見日升”,用以形容飛來峰上塔之極高。
尋,是一種技巧。現今的網路為自學者提供了非常巨大的資源平台,但缺乏技巧的查詢和求助,往往“眾里尋他千百度”卻難有“驀然回首”的頓悟。而善用關鍵字搜尋,則常可使人體會到“燈火闌珊”之美景。
尋,是一種追求。網路上活躍著這么一群人,他們曾經也是懵懂的菜鳥,在尋解獲助時心存感激,在尋師問道時心懷崇敬。漸漸地,他們因互助的理念而聚集,相互扶持,堅持不懈地學習、實踐與創新。面對一個個技術的據高點,他們是睿智而無私的“尋者”,壁立千尋敢登攀,尋根究底解疑難!
尋,是一種心境。求知探秘當志存華山論劍之高遠,解決問題應意守無劍無招之尋常,這便是“尋者”修煉的心境。來者是客,有問必答,不慕華麗的招式,但求直擊問題之根源,用簡單的方法辦成複雜的事情。
本叢書的作者就是這樣的一群“尋者”。在長期的線上答疑、線下交流和培訓活動中,他們接觸過針對同一類問題千奇百怪的提問,深知許多人苦尋而不得的要害,甚至練就了一手僅根據含混不清的提問就能進行猜題、解題的本領。通過不斷地積累與整理,Excel技巧網(ExcelTip Net技術社區)的版主們推出了“Excel疑難千尋千解”系列叢書,這些“疑難”都是許多人曾經搜尋和提問過的,也是大多數用戶在工作中可能會遇到的一些尋常問題。書中案例涉及行政辦公、人力資源、金融財務、經濟統計、學校教育、工程技術、醫療衛生、質量管理、生產管理等多個領域,並根據Excel的主要功能分冊整理成書。
在叢書編著過程中,“實用為王”的原則貫徹始終,所有案例都遵循實際工作場景和知識點解說緊密結合的主線,拋開一些華而不實、艱難晦澀的高深解法,而將基礎理論和解決方案寓於尋常技巧之中,讓讀者能得其用、明其理,以期實現為更多的人解決更多問題的簡單願景。
尋 者
前 言
感謝您選擇“Excel 疑難千尋千解”叢書之《Excel 2010 SQL 完全套用》!
Excel 2010具有強大的運算與分析能力。從Excel 2007開始,改進的功能區使操作更直觀、更快捷,實現了質的飛躍。不過需要進一步提升效率、實現自動化,單靠功能區的選單功能是遠遠不夠的。在Excel中使用SQL語句,可以靈活地對數據進行整理、計算、匯總、查詢、分析等處理,尤其在面對大數據量的工作表的時候,SQL語言能夠發揮其更大的威力,快速提高讀者的辦公效率。
叢書介紹
“Excel 疑難千尋千解”叢書是由Excel技巧網(ExcelTip Net技術社區)的負責人、微軟最有價值專家(MVP)黃朝陽先生策劃並組織編寫的一套系列書籍。
Excel技巧網旨在重點推廣Excel 2010及今後更高版本的套用,並為廣大的Excel愛好者提供一個內容充實、分類清晰、經典實用、精彩紛呈、互惠學習、友好交流的平台。社區成立不久便吸引了眾多微軟MVP和有志於推廣電子表格套用技術的高手駐足,長期為網友免費解答疑難問題,並勤於將精彩的答疑帖子按其所涉及的知識和套用兩個維度,整理成為原創技術文章。
社區設有討論、文章、資源三大技術專區,並按照Excel的功能歸屬將主題劃分為基礎套用、數據透視表、條件格式、函式與公式、圖表與圖形、VBA、SQL in Excel、綜合套用等方面,本叢書的各讀本正是基於相近的主題分類。
本叢書由黃朝陽、王建發、陳國良、榮勝軍、陳樹青等微軟MVP以及羅剛君、李術彬、林盤生、章蘭新、李懿等多位社區資深版主聯手打造,將來還將邀請更多高級會員加盟參與叢書其他讀本的創作。其中《Excel 2010操作與技巧》、《Excel 2010函式與公式》、《Excel 2010 VBA編程與實踐》已先於2010年12月出版,再次推出讓讀者們期待已久的《Excel 2010 SQL 完全套用》讀本。近期,還將陸續推出《Excel 2010 數據透視表》、《Excel 2010 圖表與圖形》等其他讀本。
得益於多年來在社區答疑中的磨礪,作者們將豐富的實戰經驗付諸筆端,精心設計了上千案例,將Excel方方面面的知識點融入其中。每個案例都採用一般用戶遇到疑難時最可能的提問方式和套用場景對問題進行描述,提供具有針對性的解決方案和詳盡的操作步驟,並配合以原理分析和知識擴展環節,既授人以魚,又授人以漁。叢書全系提供“疑難”加“知識點”的特色目錄索引,方便讀者根據需要快速地查找。對於渴望學習和掌握新知識的Excel用戶來說,與其千百次地找尋問題答案,不如靜心地讀此叢書一卷。
讀者對象
本書的寫作基於Microsoft Office Excel 2010專業版,儘管一些SQL語句可能在Excel 97-2007等早期版本中不能直接使用,但依然能夠為讀者提供思路方面的借鑑。
本書通過200個疑難案例,其中包括了3個大型綜合套用,展示了SQL語言在Excel中的高效套用,適合沒有或者只有極少SQL語言使用經驗的讀者,同時也適合所有辦公制表人士,特別是經常製作Excel財務報表、經營分析報表等人士,可藉以大幅提升工作效率。本書提供的知識與疑難案例都是從最基礎、最常見的問題開始闡述,並輔以解題思路與原理分析,讀者可以通過書中現有的案例進行拓展,解決更多類似的問題。如果您是較少接觸SQL語言的用戶,可以參考本書案例中的疑難場景,直接編寫相關的SQL語句在Excel中,只需要單擊刷新,即可把相關的數據快速更新到您的表格中;如果您對SQL語言有了一定的了解,則可以通過學習本書案例中的解決方案,掌握更多知識點和使用技巧,全面地提升套用SQL語言解決實際工作問題的能力。
閱讀指南
本書共包括11章,涉及了SQL在Excel中套用的各個方面。其中,第1章為基礎入門,第2至7章為SQL的語言結構套用的疑難問題及解決方案,第8章為子查詢,第9章為SQL與數據透視表組合的套用,第10章為SQL與VBA的組合套用。各章根據所涉及知識點的不同,精心設計了數十個案例,並為讀者準備了相應的思考題和練習題。第11章為綜合套用,講述了運用SQL解決報表分析及構建綜合查詢系統的思路及方法。
各章節的內容簡介如下:
第1章 SQL基礎入門
本章主要介紹Excel下的SQL操作環境、SQL語句的基礎概念以及SQL查詢入門,引導讀者學習及掌握Excel中的SQL語言的運用,並且能編寫出最基本的SQL語句。
第2章 SQL運算符使用
本章主要介紹Excel SQL中比較運算符、邏輯運算符、連線運算符和算術運算符的使用方法,引導讀者在進行SQL查詢時隨心所欲地根據單個或多個條件找出所需要的特定數據。
第3章 SQL常見函式使用
本章主要介紹SQL查詢中可能用到的基本函式,主要涉及到字元串函式、算術函式、轉換函式及其他函式,幫助讀者進一步加深對SQL語句的認識並可運用SQL基本函式解決一些實際工作中遇到的問題。
第4章 SQL日期和時間函式使用
本章主要介紹SQL中日期和時間函式的使用,熟練掌握日期和時間函式的使用,可以方便地按月、年匯總和查詢,還可以查詢和匯總某特殊時間段的數據,或者可以獲取某些特殊的日期。
第5章 SQL排序查詢
本章主要介紹SQL排序查詢,利用排序查詢的技巧可以實現數據的順序排列,也可以找出指定位置的記錄,得到記錄的排名等。
第6章 聚合函式與分組統計
本章主要介紹Excel中數據求和、計數、求均值、GROUP BY分組統計等方面的知識,解答用戶在工作中最常見的SQL疑難問題,引導讀者輕鬆掌握SQL的統計匯總技術。
第7章 連線查詢
本章主要討論內連線、外連線、交叉連線及自連線等方面的疑難問題,引導用戶輕鬆地掌握SQL中最常見的多表連線方面的知識。
第8章 子查詢
本章通過對簡單子查詢、複雜子查詢等經典案例的講解,幫助讀者深入了解子查詢的知識。
第9章 SQL與數據透視表
本章首先介紹數據透視表的一些常用的操作,讓用戶對數據透視表有了初步的印象,然後通過相關例子來介紹SQL與數據透視表在日常工作中的套用,向用戶展示雙劍結合的威力。
第10章 SQL和VBA
本章大部分示例以Access作為資料庫,來展示Excel如何通過VBA來利用SQL語句進行數據查詢、修改等批量處理。
第11章 綜合套用
本章通過對日常工作中的報表分析案例、SQL綜合查詢通用系統的分模組設計案例的講解,將各章中常遇到的技巧進行組合,為讀者在日常工作中遇到的實際問題進行分析拆解、逐步實現所需要的效果,讓SQL語言真正套用到工作中去。
本書約定
為了熟悉本書對滑鼠操作、鍵盤指令等描述方式,從而更順暢地閱讀本書,您有必要了解以下內容:
選單
本書中表示連續多個選單指令時,使用右箭頭“→”進行連線,例如:單擊“檔案”選項卡→“選項”→“公式”,表示依次單擊“檔案”選項卡的“選項”按鈕,在彈出的“Excel 選項”對話框中單擊“公式”選項卡。
滑鼠
本書中表示滑鼠操作時,均使用標準的表示方法。其中“指向”表示將滑鼠指針移到對象之上,且不單擊任何按鈕;而“單擊”特指利用滑鼠左鍵單擊目標;“右鍵單擊”表示利用滑鼠的右鍵單擊對象;“雙擊”表示快速按下滑鼠左鍵兩次;“拖放”則表示按下滑鼠左鍵不鬆開的狀態下拖動滑鼠,拖到目標區域後再放開滑鼠左鍵。
鍵盤
本書中表示按鍵時使用尖括弧“【】”號包含,例如“按【Ctrl+Shift+Enter】組合鍵”表示同時按下鍵盤上的Ctrl鍵、Shift鍵和Enter鍵。其他按鍵的表示方法相同,如果需要特殊操作方法,會在相關內容中詳細說明。
代碼
本書的SQL代碼全部使用大寫,例如:SELECT SUM(銷售量) AS 總銷售量,SUM(銷售額) AS 總銷售額FROM [空調銷售表$]。在講解SQL語法時,參數儘量使用小寫,例如VAR (expr)。
本書特點
本書為市場上第一本在Excel中完全套用SQL語言的Excel書籍,文體結構新穎,案例貼近實際,講解深入透徹,表現為以下幾個方面:
場景式提問
本書從成千上萬網友提問中精心歸納、提煉出各類問題,並還原為貼近真實的求助語言及案例,方便讀者搜尋與實際工作相似問題。
增強式目錄
本書總體章節劃分以“基礎理論→分類套用→綜合實戰”為主線,將VBA的主要知識點和經典解決方案設計到每個疑難的案例中,並採用“疑難”加“知識點”的特色目錄索引,方便讀者根據需要翻閱和查找。
開創式結構
本書案例中的“解決方案”環節是對問題的思路解說,結合“操作方法”環節中的步驟讓人更容易理解。“原理分析”環節則主要解釋所使用代碼的工作原理。“知識擴展”環節包括與案例相關的知識點補充,可拓展讀者的視野,同時也有利於理解案例本身的解決思路。
學習方法
本書旨在讓讀者掌握運用SQL語句的基本操作、方法和技巧,用以解決實際工作中的疑難問題,以及對同類的問題提供解決思路。
書中各章節按由易到難的方式組織,但章節之間是相互獨立的,可以從任意章節開始學習,不需要遵循由前至後的順序閱讀。
本書配套有示例檔案光碟,讀者必須把光碟的檔案放置在D糟,然後邊看書邊操作,只有通過實踐和不斷嘗試,才能真正地掌握和靈活地運用本書中的SQL語句的知識,也許可以寫出比本書作者更好的SQL語句。
致謝與作者
叢書從策劃到出版,傾注了電子工業出版社計算機圖書分社張慧敏、石倩、安娜等多位編輯近一年的心血,特在此表示衷心地感謝!
為保證叢書的質量,使其更貼近讀者,我們組織了ExcelTip Net的多位版主和高級會員參與了本書的預讀工作,他們是梁薇薇、王士剛、張瑞芳、翁嘉辰、姚亮亮、任強、張偉、王洋、曾澤明、薛宇鋒、程傳魏和張敏。感謝各位預讀員的辛勤、耐心與細緻,使得本叢書能以更加完備的面目與各位讀者見面。
感謝兄弟網站Excelpx com與Officefans net對本書的宣傳工作給予的支持與幫助。
本書由黃朝陽策劃,林盤生、李懿和陳樹青編寫。第1、第6~9章由林盤生編寫,第2、5、10章由李懿編寫,第3章由陳樹青編寫,第4章由陳樹青和李懿共同編寫,第11章由李懿和林盤生共同編寫,最後由林盤生和黃朝陽完成統稿。
儘管作者對書中的案例精益求精,但疏漏仍然在所難免,如果您發現書中的錯誤或某個案例有更好的解決方案,敬請登錄售後服務的網址向作者反饋。我們將儘快在社區回復,且在本書再次印刷時予以修正。
再次感謝您的支持!
編著者
2011年6月15日
目 錄
第1章 SQL基礎入門 1
1.1 熟悉Excel的SQL語言編寫環境 1
疑難1 如何獲取外部源數據 1
※ 通過OLE DB 接口獲取外部數據源 2
※ 使用Microsoft Query導入外部源數據 3
疑難2 如何刷新導入的外部數據 7
※ 刷新導入的外部數據源 8
疑難3 在數據源移動後如何修改數據源的連線路徑 9
※ 根據彈出提示自動修改移動的檔案路徑 10
※ 通過修改連線字元串來修改移動的檔案路徑 11
疑難4 如何將混合類型的欄位強制設定為文本欄位 11
※ 強制設定導入的外部數據源的欄位為文本形式 13
※ SQL中的連線字元串詳解 13
疑難5 如何對外部數據進行安全設定 15
※ 安全設定外部數據 15
1.2 SQL基礎概念 17
疑難6 如何從表中獲取多列和多行 17
※ 使用SQL語句獲取行和列數據 17
※ 什麼是關係資料庫中的表 18
※ 一行在表中表示什麼信息 18
※ 一列在表中表示什麼信息 19
疑難7 如何通過唯一標識把兩個表的數據連線在一起 19
※ 如何理解主鍵標識 20
1.3 SQL語句入門 21
疑難8 如何查詢工作表中單列數據 21
※ 使用SQL獲取單列數據 22
※ 什麼是SELECT子句 22
疑難9 如何查詢工作表中多列數據 23
※ 使用SQL語句獲取多列數據 24
※ SQL列欄位命名的限制 24
疑難10 如何查詢工作表中的所有列數據 25
※ 如何理解SQL語句中的通配符 26
※ 什麼叫別名 26
疑難11 如何使用列別名 26
※ 如何使用列別名 27
疑難12 如何使用DISTINCT查詢工作表中不重複的記錄 28
※ SQL語句中關鍵字DISTINCT的使用 29
疑難13 如何查詢百度豪華車排行榜中某日搜尋量大於800的記錄 30
※ SQL語句中WHERE子句的使用 31
疑難14 如何在SQL中使用定義名稱 31
※ 定義名稱在SQL語句中的套用 32
※ 什麼叫名稱 33
疑難15 如何對學生的成績進行降序排列 33
※ ORDER BY子句的使用 34
疑難16 如何不藉助源數據表使用SQL語句 34
※ 什麼情況下的SQL語句可以不使用FROM子句 35
疑難17 如何把一條新記錄添加到數據源中 35
※ INSERT INTO語句的使用 37
疑難18 如何在Excel中更新數據 38
※ UPDATE語句的使用 39
疑難19 如何提取帶有合併單元格的數據 39
※ 如何對包含合併單元格欄位的工作表使用SQL語句 40
疑難20 如何解決查詢結果中有空白記錄的問題 41
※ 如何去除查詢結果中出現的空白記錄 41
1.4 練習與思考 42
第2章 SQL運算符使用 43
2.1 比較運算符 43
疑難21 如何查詢報考某專業的考生 43
※ 為SQL設定條件查詢子句 44
※ 不以第一行為起點的數據表示 44
※ 等號運算符 45
疑難22 如何查詢欄位值中包含雙引號的數據 45
※ 包含引號的數據表示 46
疑難23 如何查詢指定日期的出口數據 47
※ 日期型數據表示 48
疑難24 如何查詢啤酒銷量超過50kL的信息 49
※ 帶有括弧的欄位名表示方式 50
※ 大於、小於等運算 50
疑難25 如何查詢某班外同學的考試成績 51
※ 不等號比較運算 52
2.2 邏輯運算符 52
疑難26 如何查詢缺考同學的數據 52
※ NULL值的判斷 53
疑難27 如何查詢同時參加兩項比賽的人員名單 54
※ IN運算的妙用 55
※ NOT IN運算出現NULL值時的注意事項 55
疑難28 如何查詢2010年進入公司的員工名單 56
※ 利用BETWEEN求某範圍內的數據 57
疑難29 如何查詢姓“劉”的所有人員 57
※ 運用LIKE進行模糊匹配 58
※ 模糊匹配中不確定長度的字元表示 58
疑難30 如何查詢訂單號第三、四位為指定文本的出庫記錄 59
※ 模糊匹配中長度為1的字元表示 60
疑難31 如何查詢成績為C以上的同學 60
※ 模糊匹配中字元區間的表示 61
疑難32 如何查詢商品代號中帶有數字的商品數據 62
※ 模糊匹配中數字區間的表示 62
疑難33 如何查詢姓名兩端沒有方括弧的所有員工 63
※ 模糊匹配中特殊字元的表示 64
2.3 連線運算符 64
疑難34 如何對多個欄位進行模糊查詢 64
※ 連線符(&)的妙用 65
疑難35 如何查詢同時滿足申請租賃型經濟適用房條件的人員 66
※ 同時滿足多個條件的查詢 67
疑難36 如何查詢付款超過最後付款期限及尚未付款的客戶 68
※ 滿足多個條件之一的查詢 69
2.4 算術運算符 69
疑難37 如何查詢語數外總分大於240分的同學名單和總成績 69
※ 欄位的四則運算 70
※ 日期與數字的關係和轉換 71
疑難38 如何計算員工社會保險繳納金額 72
※ 按照百分比例計算欄位 73
※ Excel中數字的精度 73
疑難39 如何根據點坐標計算距原點的距離 74
※ 冪運算的妙用 74
2.5 練習與思考 75
第3章 SQL常見函式使用 76
3.1 字元串函式 76
疑難40 如何根據二代身份證號返回出生年份 76
※ 四捨六入五單雙的規則 79
※ MIDB函式的用法 80
※ 字元與位元組的關係 80
疑難41 如何返回郵政機構所在行政區域 80
※ RIGHT函式與RIGHTB函式的區別 83
疑難42 如何分離聯繫電話的區號與電話號碼 83
※ LEFT函式與LEFTB函式的區別 85
疑難43 如何替換字元串中的地名 85
※ REPLACE函式的使用 86
疑難44 如何去除字元串首尾兩側的空格 89
※ TRIM與LTRIM、RTRIM 91
※ 空格與不可見字元 91
疑難45 如何返回字元串中某字元所在位置 92
※ INSTR函式的使用 94
疑難46 如何比較兩列數據是否相同 95
※ CBOOL函式與STRCOMP函式用法比較 98
疑難47 如何查詢有換行符欄位的記錄 100
※ 處理換行符的方法 101
疑難48 如何去除路徑僅返回檔案名稱 101
※ INSTRREV函式的使用 102
疑難49 如何將英文歌曲名稱轉換為小寫字母 104
※ STRCONV函式的使用 105
※ LCASE函式與UCASE函式的使用 109
3.2 算術函式 111
疑難50 如何將價格進位到角得到產品零售價 111
※ ROUND函式的使用 112
※ CINT函式的使用 115
疑難51 如何求出陽台的圓弧長度 115
※ 弧度計算說明 116
疑難52 如何返回直角三角形斜邊長度 117
※ 弧度與角度的轉換 118
※ SQL中可用的其他三角函式 118
疑難53 如何將編碼轉換為十六進制數 118
※ HEX函式轉換為十六進制的使用 119
※ 二進制、八進制、十六進制介紹 120
※ 進制轉換方法簡介 120
疑難54 如何根據貨物重量返回滿載車數量 121
※ INT函式的使用 122
※ FIX函式的使用 122
3.3 轉換函式 123
疑難55 如何統一項目起止的日期格式 123
※ CDATE函式的使用 124
※ FORMATDATETIME函式的使用 126
※ FORMAT函式將文本型日期轉換為日期值 127
疑難56 如何格式化出貨量增長率 128
※ FORMATPERCENT函式的使用 129
※ FORMATNUMBER函式的使用 130
※ 用ROUND函式配合“&”返回百分比 131
※ 用FORMAT函式返回百分比 132
疑難57 如何整理投票結果並返回讀書數量 132
※ VAL函式返回數字 133
疑難58 如何將數字轉換為字元 133
※ CSTR函式的使用 134
※ CSTR函式與STR函式的區別 135
※ CVAR函式的使用 136
疑難59 如何將字元轉換成數字 136
※ CLNG函式的使用 137
※ CDBL函式、CSNG函式及CVAR函式用法比較 138
3.4 其他函式 138
疑難60 如何根據學生成績返回等第成績 138
※ SWITCH函式的使用 139
疑難61 如何得到調整後的工資額 141
※ ISNULL函式的使用 142
※ ISNUMERIC函式 143
疑難62 如何得到反轉後的迴文詩 143
※ STRREVERS函式的使用 144
疑難63 如何按規定格式返回數字與文本混雜的數據 144
※ FORMAT函式返回相應格式使用 145
※ IIF函式的使用 153
※ 純小數前是否顯示前導0 154
疑難64 如何查看支出是否超出預算 154
※ CHOOSE函式的使用 157
疑難65 如何根據二代身份證號碼判斷性別 158
※ 用MOD函式配合IIF函式取性別 159
※ 用INT+MID+ IIF函式取性別 162
3.5 練習與思考 162
第4章 SQL日期和時間函式使用 163
4.1 獲取日期 163
疑難66 如何查詢今天是星期幾 163
※ DATE函式的使用 164
※ NOW函式的使用 164
※ WEEKDAY函式的使用 165
※ WEEKDAYNAME函式的使用 168
※ DATEPART函式的使用 171
※ 關於星期的典型語句 175
疑難67 如何用SQL語句得到當前月的剩餘天數 176
※ DATEADD+DAY函式的使用 176
疑難68 如何用SQL判斷今年是平年還是閏年 178
※ DATESERIAL函式的使用 179
※ 判斷平年或閏年的語句 180
疑難69 如何用SQL獲取今年母親節的日期 182
※ WEEKDAY+DATESERIAL+FORMAT函式的使用 182
疑難70 如何用SQL計算員工的工齡工資 184
※ DATEDIFF函式的使用 185
疑難71 如何用SQL計算食品到期日期 187
※ DATEADD函式返回到期日期 188
4.2 格式化日期 188
疑難72 如何將日期和時間轉換為系統標準格式 188
※ 利用FORMAT函式轉換日期 190
疑難73 如何獲取契約簽訂的英文日期 190
※ 利用FORMAT函式轉換為英文日期 191
※ 利用函式複合運用轉換為英文日期 191
疑難74 如何將日期轉換為報表所需格式 192
※ 獲取當月總天數的技巧 193
4.3 時間段查詢 193
疑難75 如何返回第一季度中的銷售記錄 193
※ DATEPART函式忽略年份獲取日期所在的季度 194
疑難76 如何提取契約即將到期的員工及最遲續訂期限 194
※ 利用WEEKDAY函式獲取工作日信息 196
疑難77 如何獲取所有職員的星座 196
※ 不同年份查詢相同月份、日期所在區間 197
※ 笛卡兒積的概念 197
疑難78 如何找出銷售額最高的月份 198
※ 利用MONTHNAME函式獲取月份的完整表示 199
疑難79 如何查詢庫存中某日的出入庫情況匯總 199
※ 日期和時間的關係 200
4.4 練習與思考 200
第5章 SQL排序查詢 201
5.1 單列數據排序 201
疑難80 如何提取某區域的銷售記錄並按銷售額降序排列 201
※ 利用ORDER BY子句對記錄進行排序 202
※ SQL查詢機制步驟詳解 202
疑難81 如何找出考試成績總分前5名的同學 203
※ 利用TOP謂詞查詢前幾條記錄 204
※ TOP PERCENT保留記錄規律 204
疑難82 如何查詢百米賽跑項目第5~8名的運動員 205
※ 偽時間排序技巧 206
※ 查找排名中間的記錄的技巧 206
※ TOP謂詞出現重複記錄的查詢規律 207
疑難83 如何將考生姓名進行隨機排序 207
※ 隨機排序技巧 208
※ 偽隨機數概念 208
5.2 多列數據排序 209
疑難84 如何將員工名單按照多級部門進行排序 209
※ 多列排序技巧及規律 210
疑難85 如何從總分前10名中找出語文成績最差的3名同學 210
※ 在排序結果中查找指定記錄的技巧 211
疑難86 如何得到足球比賽小組賽的出線名單 212
※ 指定不同排序方法的多列排序 213
※ 利用數學計算方法進行多列排序 213
5.3 練習與思考 214
第6章 聚合函式與分組統計 215
6.1 聚合函式的套用 215
疑難87 如何求某公司的總銷售量及總銷售額 215
※ SUM函式在SQL語句中的使用 216
疑難88 如何求某班學生的各科平均成績 216
※ AVG函式在SQL中的使用 217
疑難89 如何統計訂單號不重複的數目 217
※ DISTINCT+COUNT統計不重複的記錄數 218
疑難90 如何獲取學生年齡的最大值及最小值 219
※ MAX函式及MIN函式在SQL語句中的使用 220
疑難91 如何剔除最大值及最小值後求均值 220
※ SUM+MAX+MIN+COUNT函式綜合使用 221
疑難92 如何獲得入網套餐終端補貼起始月份及終止月份 221
※ FIRST函式及LAST函式的使用 222
疑難93 如何估計貨運運費的標準偏差及標準差 222
※ STDEV函式及STDEVP函式的使用 223
疑難94 如何求某組學生口語測驗成績的方差 224
※ VAR函式及VARP函式的使用 224
疑難95 如何計算某列中空值的數目 225
※ NULL在SQL語句中的使用 226
疑難96 如何計算不同日期的數量 226
※ COUNT+FORMAT函式的使用 227
6.2 域聚合函式的套用 227
疑難97 如何按商品編碼統計累計銷售額 227
※ DSUM函式在SQL語句中的使用 229
疑難98 如何求每位學生得分最高兩科的所有記錄 229
※ DCOUNT函式在SQL語句中的使用 230
疑難99 如何求指定條件的貨款額均值 231
※ DAVG函式在SQL語句中的使用 232
疑難100 如何查詢指定條件的人員的姓名 233
※ DLOOKUP函式在SQL語句中的使用 234
疑難101 如何求指定條件的門市的最高分及最低分 234
※ DMAX函式及DMIN在SQL語句中的使用 235
疑難102 如何求指定條件的第一個值及最後一個值 236
※ DFIRST函式及DLAST在SQL語句中的使用 237
疑難103 如何求指定條件的方差 238
※ DVAR函式及DVARP在SQL語句中的使用 238
疑難104 如何求指定條件的標準偏差標準差 239
※ DSTDEV函式及DSTDEVP在SQL語句中的使用 240
6.3 分組統計 240
疑難105 如何匯總同一物品的數量及價格 241
※ GROUP BY子句的使用 241
疑難106 如何分組匯總多列數據 242
※ 使用多個分組列的GROUP BY子句 243
疑難107 如何查詢銷售數量大於15台的手機品牌及銷售金額 243
※ HAVING子句的使用 244
疑難108 如何查詢平均成績大於60分同學的學號、姓名和平均成績 245
※ 使用HAVING子句提取平均成績大於60分的記錄 246
疑難109 如何統計姓“林”的員工人數 246
※ HAVING子句結合LEFT函式統計某姓氏的人數 247
疑難110 如何求某車間的機器在每分鐘內的平均速度 248
※ 通過GROUP BY子句結合FORMAT函式對時間段進行分組 249
疑難111 如何查詢材料編號重複出現2次或2次以上的記錄 249
※ GROUP BY子句+HAVING子句+WHERE子句提取重複出現2次及
2次以上的記錄 250
疑難112 如何查詢只出現1次編碼的記錄 251
※ GROUP BY子句+HAVING子句提取只出現1次的記錄 251
※ WHERE子句=1提取只出現1次的記錄 252
疑難113 如何查詢“不重複且價格最低”的記錄 252
※ GROUP BY子句+MIN函式獲取最低單價的記錄 253
疑難114 如何計算每個得分範圍內的數量 253
※ GROUP BY+IIF函式的使用 254
※ GROUP BY+CHOOSE函式的使用 255
※ GROUP BY+PARTITION函式的使用 256
疑難115 如何將多行的享受月份轉化為一行起止的享受月份 256
※ GROUP BY+FIRST函式+LAST函式的使用 257
疑難116 如何實現表格行列轉置 257
※ TRANSFORM語句的使用 258
疑難117 如何得到每個人的成績表 259
※ TRANSFORM的交叉表及GROUP BY子句匯總求和 260
疑難118 如何生成列合計的交叉表 260
※ TRANSFORM+GROUP BY子句+UNION ALL求帶有小計及合計行的
結果表 261
6.4 練習與思考 264
第7章 連線查詢 265
7.1 內連線查詢 265
疑難119 如何查詢水果所對應的顏色 265
※ 一對一連線兩個工作表 266
疑難120 如何查詢每條成績表記錄所對應的學生信息 266
※ 公共欄位連線兩個工作表 267
疑難121 如何理解連線中的多對多關係 268
※ 笛卡兒積導致數據虛增的原因 269
疑難122 如何進行兩個或者兩個以上表的連線 270
※ 多個工作表連線 271
※ AND在多個工作表連線中的使用 271
疑難123 如何根據測評分數給學生評定等級 271
※ 使用BETWEEN AND連線工作表 272
疑難124 如何得到各城市滿意度大小比較關係圖 273
※ 使用大於條件連線工作表 274
疑難125 如何進行字母之間大小的對比 274
※ 通過字母大小比較連線工作表 275
疑難126 如何處理比賽對陣表 275
※ 使用行函式連線工作表 276
疑難127 如何使用INNER JOIN連線三個表 276
※ 使用INNER JOIN連線工作表 277
7.2 外連線查詢 277
疑難128 如何使用左外連線 278
※ 使用LEFT OUTER JOIN進行左連線 279
疑難129 如何使用右外連線 279
※ 使用RIGHT OUTER JOIN進行右連線 280
疑難130 如何使用全外連線 281
※ 使用全外連線 281
疑難131 如何對超過兩個或兩個以上的表進行左外連線 282
※ 多個工作表進行左連線 283
7.3 連線查詢的高級套用 284
疑難132 如何把兩個工作表的資料合併在一起 284
※ UNION ALL的使用 285
※ UNION ALL與UNION的區別 285
疑難133 如何把列數不等的兩個工作表合併起來 286
※ 列數不等的工作表進行連線 287
疑難134 如何查詢指定條件的職工資料 288
※ 剔除指定記錄進行內連線 289
疑難135 如何查詢各組長管理的組員記錄 289
※ 內連線及WHERE子句的使用 290
疑難136 如何獲取每一戶對應的戶主姓名 291
※ 左外連線的高級使用 293
疑難137 如何查詢所有學生的學號、姓名、選課數及總成績 293
※ ISNULL+IIF+左外連線的使用 294
疑難138 如何查詢學過“002”和“003”課程的學生的學號、姓名 295
※ 內連線+WHERE子句+GROUP BY子句+HAVING子句的綜合套用 296
疑難139 如何生成排列組合 297
※ 什麼叫交叉連線 298
疑難140 如何生成0~999的數字 298
※ 交叉連線生成一組數 299
7.4 練習與思考 299
第8章 子查詢 300
8.1 簡單子查詢 300
疑難141 如何查詢銷售數量大於平均銷售量的數據 300
※ 大於平均值的子查詢 301
疑難142 如何查詢“王雙”所在部門的所有員工的銷售情況 302
※ 帶有IN的子查詢 303
疑難143 如何輸出每個學生在必修表中未修的課程 304
※ 帶有NOT IN的子查詢 305
疑難144 如何查詢選修了課程名為“大學數學”的學生學號及姓名 306
※ 帶有IN的子查詢 307
疑難145 如何查詢出每家戶口所在地不同的記錄 309
※ 使用EXISTS謂詞進行子查詢 310
疑難146 如何查詢數學成績大於80分的學生的相關記錄 310
※ 使用NOT EXISTS謂詞進行子查詢 311
疑難147 如何查詢銷售數量大於北京分公司所有產品銷售數量的品種、
分公司、數量、金額 312
※ 使用ALL進行子查詢 313
疑難148 如何查詢高於某些店銷售數量的信息 314
※ 使用ANY進行子查詢 315
疑難149 如何查詢兩門以上不及格課程的學生姓名、學號及其平均成績 316
※ 多條件獲取符合條件的學號進行子查詢 317
疑難150 如何查詢大於平均年齡的員工姓名、年齡及學歷 318
※ 使用HAVING子句進行子查詢 319
8.2 複雜的子查詢 319
疑難151 如何返回所在系平均年齡在系平均年齡以上的教師相關信息 319
※ 使用比較表達式進行子查詢 320
疑難152 如何求各城市各月銷售數量之間的排名 320
※ 使用1+COUNT(*)產生排名的子查詢 321
疑難153 如何對考生的成績進行排名 322
※ 使用多個1+COUNT(*)進行子查詢 323
疑難154 如何匯總各個國家獲得兩塊以上的金牌記錄 323
※ 使用SUM(1)進行子查詢 324
疑難155 如何查詢進價相同及進價不同的商品 325
※ 結合FIRST+LAST+IN的子查詢 327
疑難156 如何實現在分類匯總行中對某欄位進行計數統計 327
※ 帶有“總計”的綜合子查詢 328
疑難157 如何統計各大區域各省份的歷年項目數小計並在所在區域內進行排名 329
※ 多層嵌套綜合子查詢 331
疑難158 如何根據各城市銷售數量給其增加自動編號列 331
※ 嵌套子查詢及1+COUNT(*)形成排名 333
8.3 練習與思考 333
第9章 SQL與數據透視表 334
9.1 數據透視表基礎 334
疑難159 如何匯總各供應商的供貨總數及總金額 334
※“數據透視表欄位列表”窗格說明 335
疑難160 如何統計各班某科成績的總體情況 336
※ 數據透視表匯總方式介紹 338
疑難161 如何在數據透視表中使用滑鼠拖放 338
※ 啟用經典數據透視表布局 339
疑難162 如何設定合併單元格標誌 339
※ 設定數據透視表合併單元格標誌 340
疑難163 如何添加計算欄位來計算銷售金額提成 340
※ 數據透視表計算欄位介紹 341
疑難164 如何添加計算項獲取同比值 342
※ 數據透視表計算項介紹 343
疑難165 如何按年月匯總銷售額 343
※ 數據透視表日期欄位分組組合 344
疑難166 如何創建年份的單頁欄位數據透視表 345
※ 創建數據透視表自定義頁欄位 347
9.2 SQL與數據透視表 347
疑難167 如何創建動態的數據透視表 347
※ 使用SQL語句創建動態的數據透視表 349
疑難168 如何匯總同一個工作簿中的所有數據 349
※ 使用SQL語句連線同一個工作簿內所有的工作表創建動態的數據透視表 351
疑難169 如何匯總同一個工作簿中不同區域的數據 351
※ 使用SQL語句連線同一個工作簿內不同工作表中的不同區域創建數據透視表 353
疑難170 如何匯總不同工作簿中不同工作表的數據 353
※ 使用SQL語句連線不同工作簿中不同工作表的所有數據創建動態的數據透視表 356
疑難171 如何對列數不等的工作表創建數據透視表 357
※ 使用SQL語句連線列數不等的工作表創建動態的數據透視表 359
疑難172 如何分別統計各部門不同性別、學歷、職位的人數 359
※ 使用SQL語句對源數據進行結構轉換創建動態的數據透視表 361
疑難173 如何創建當月銷量及累計銷量的數據透視表 362
※ 使用SQL語句創建帶有當月統計及累計的動態數據透視表 364
9.3 練習與思考 365
第10章 SQL和VBA 366
10.1 VBA基礎 366
疑難174 如何輸入和修改VBA代碼並保存 366
※ VBA編輯環境及VBA代碼的編寫和運行 368
※ 啟用宏的工作簿在Excel 2003與Excel 2007及以上版本的區別 369
疑難175 如何設定SQL所需的VBA環境 369
※ 引用ADO組件設定SQL編程環境 369
10.2 利用ADO組件進行資料庫連線 370
疑難176 如何創建資料庫連線實現簡單的SQL查詢 370
※ 利用ADO連線資料庫 371
※ 利用ADO執行SQL查詢,並在Excel中輸出結果 371
※ ADO連線不同的資料庫 371
疑難177 如何使用VBA實現多資料庫查詢 373
※ 同時查詢多個不同的資料庫 374
疑難178 如何讓用戶選擇資料庫進行查詢 374
※ 利用VBA選擇資料庫路徑 376
※ Excel自定義文檔屬性的概念 377
10.3 利用ADO組件進行表的操作 377
疑難179 如何使用VBA在資料庫中新建一個表 377
※ 用CREATE語句新建數據表 378
※ 用SQL語句新建Excel工作表 379
疑難180 如何使用VBA刪除資料庫中的表 379
※ DROP語句刪除表 380
疑難181 如何使用VBA創建新的欄位 381
※ 新建數據表中的欄位 382
※ 刪除數據表中的欄位 382
疑難182 如何使用VBA修改表中現有的欄位類型 382
※ 修改數據表中的欄位名及類型 383
疑難183 如何使用VBA將某個表複製到其他資料庫中 383
※ 整個數據表的複製 385
10.4 數據操作 385
疑難184 如何使用VBA向表中添加新的記錄 385
※ INSERT INTO語句實現數據的添加 387
疑難185 如何使用VBA將滿足條件的記錄添加到表中 388
※ INSERT INTO語句實現數據的批量添加 389
疑難186 如何使用VBA修改某個特定記錄 390
※ UPDATE語句實現數據的批量修改更新 391
※ UPDATE語句實現跨數據表的更新 392
疑難187 如何使用VBA批量更新記錄 392
※ DELETE語句實現數據的批量刪除 394
※ 數據表的刪除和清空 394
疑難188 如何使用VBA將SQL查詢結果用於數據透視表 394
※ 創建數據透視表的數據源 396
疑難189 如何使用VBA獲取某幾行記錄 397
※ 用GetRows方法實現將查詢結果轉換為數組 398
※ 記錄集的指針 398
疑難190 如何使用VBA進行多表匯總 399
※ 多表的匯總查詢 401
※ OpenSchema實現資料庫中結構的獲取 401
疑難191 如何使用VBA進行檔案的上傳和下載 402
※ 將SQL查詢結果存放於記錄集對象 405
※ AddNew實現記錄的添加 405
※ 附屬檔案數據類型的套用 407
10.5 練習與思考 408
第11章 綜合套用 409
11.1 銷售報表分析 409
疑難192 如何獲取2010年各月銷售總數量及總金額 409
※ 使用SQL語句對多個工作表進行分組匯總 411
疑難193 如何獲取2010年銷量前10位客戶各月銷售數量明細表 411
※ 使用SQL語句結合數據透視表獲取銷量前10位的客戶明細 411
疑難194 如何獲取各客戶在2010年各個產品分類的銷售總量及銷售總金額 414
※ 獲取各產品銷售總量及銷售總金額 414
疑難195 如何獲取各銷售經理所負責客戶的銷售總量及總金額 416
※ 獲取各客戶銷售總量及銷售總金額 416
疑難196 如何獲取各個區域的銷售總量及銷售總金額 417
※ 獲取各區域銷售總量及銷售總金額 417
疑難197 如何匯總各業務員的銷售總量及銷售總金額 418
※ 獲取各業務員的銷售總量及銷售總金額 419
11.2 利用VBA結合SQL設計微型系統 420
疑難198 如何設計通訊錄 421
疑難199 如何設計通用匯總程式 430
疑難200 如何設計工資管理系統 447