《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