《数据分析与可视化实践1》课件_第3章 3.4~3.5.ppt
2.Excel与Access之间的数据交换(1)在Access中将表中数据导出到Excel【例】例3-66:将素材“L3-66-1.accdb”中的“名单”表导出为Excel表格,以文件名LJG3-66-1.xlsx保存。**(2)在Access中导入Excel中的sheet例3-67:新建一个数据库文件“LJG3-66-2.accdb”,将素材文件“L3-66-1.accdb”中的Total表导入为数据库中的表,表名为Total。**(3)建立Access表和Excel中的表的链接**例3-68:在上例中的数据库“LJG3-66-2.accdb”中,将素材文件“L3-66-3.xlsx”中的“2010年上海车牌拍卖情况”表链接到数据库中,链接表名为“2010年上海车牌拍卖情况”。注意:在Access中,用链接的方式共享数据时,在Access中无法修改链接表中的数据,也就是说,数据的更新只能在Excel中进行,这种更新可以在Access中反映出来。(4)在Excel中导入Access表在Excel中可以直接打开Access文件。例3-69:在Excel中,将素材“L3-66-1.accdb”中的“成绩”表导入为新的工作表,表标签为“成绩”。**3.Excel和Access与其他外部数据的交换(1)Excel和本地Web页的数据交换(2)在Excel中导入Web网站中的数据(3)Access和其他外部数据的交换**3.5.3*MicrosoftQueryMicrosoftQuery概述(1)可以从外部数据库中选择数据(2)可以方便地更新、同步外部数据(3)可以实现跨表查询(4)MicrosoftQuery使用外部数据源的方式**MicrosoftQuery查询数据的方式**3.5.3习题与实践1.简答题(1)Excel作为一款数据处理软件,和Access相比,有哪些不足,又有哪些优势?(2)Excel与Access的两种数据交换方式,导入和链接各自适用于什么场合?2.实践题尝试通过自学了解和初步掌握MicrosoftQuery,以及在Excel中实现查询的方法。(2)分组查询【例3-33】:查询男生和女生的人数。SELECT性别,COUNT(*)AS人数FROMSTUGROUPBY性别;【例3-34】:查询不同系别的男、女生人数。SELECT系别,性别,COUNT(*)AS人数FROMSTUGROUPBY系别,性别;(3)HAVING小组筛选【例3-35】:查询选修了2门以上课程的学生的学号。SELECT学号FROMSGRADEGROUPBY学号HAVINGCOUNT(课程编号)=2;【例3-36】:查询平均分在90以上且每门功课的成绩都在80分以上的学生的学号。SELECT学号FROMSGRADEGROUPBY学号HAVINGAVG(成绩)90ANDMIN(成绩)=80;【例3-37】:查询不及格门数在2门以上的学生的学号。SELECT学号FROMSGRADEWHERE成绩60GROUPBY学号HAVINGCOUNT(课程编号)=2;3.连接查询(1)使用场合当查询条件或结果涉及到多个表时,需要将多个表连接起来进行联合查询。(2)连接条件两个表进行连接只有当公共列存在时才具有实际意义。通常情况下,两表通过外键和被参照表的主键发生联系。如果外键和被参照表的主键同名,为示区别,引用时必须在列名前加上表名作为前缀,例如STU.学号SGRADE.学号。(3)执行过程将表1的每一个元组与表2的每一个元组逐一交叉匹配,满足连接条件时将两表元组拼接,形成临时表,再对该临时表用单表查询的方法进行查询。(4)一般形式连接查询的一般形式如下:SELECT[ALL|DISTINCT]目标列表达式1[,目标列表达式2]…FROM基表名或视图名1INNERJOIN基表名或视图名2ON连接条件…[WHERE记录过滤条件]或者用下面的形式:SELECT[ALL|DISTINCT]目标列表达式1[,目标列表达式2]…FROM基表名或视图名1,基表名或视图名2[,基表名或视图名3]…WHERE连接条件【例3-38】:查询所有选修了课程的学生的学号、姓名、课程编号和成绩。SELECTSTU.学号,姓名,课程编号,成绩FROMSTU