SQL在Excel中的应用方法.docx

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SQL在Excel中的应用方法

/iamlaosong/article/detailsQL在Excel中的应用方法iamlaosng文Excel中使用SQL的主要目的是连接/base/mysql数据库(或Excel工作表)导入数据或者对这些数据进行统计汇总,要达到这个目的,需要好好学习SQL语句的使用。本文主要说明在Excel中如何使用SQL,至于SQL语句本身就不多作介绍了。一、简单的查询1、建立查询数据选项卡—现有连接—浏览更多 或者 按快捷键Alt+D+D+D选择要查询的Excel文件和文件中的的工作表,就可以将相应工作表的数据取过来。表现形式可以是表,也可以是数据透视表等。2、SQL查询语句如果是挑选部分列数据,就需要用SQL语句(取所有数据也可以用SQL语句)。 建立查询时,选择工作表后不要点击“确定”按钮,而是先点击“属性”按钮,弹出窗口中选择“定义”选项卡,在命令文本框中输入SQL查询语句(原来的工作表名称,表示所有数据,可以认为是取所有数据的SQL的一种特殊写法):Select 字段列表 from [工作表名$]--其中字段列表就是需要选择的字段,数据源用工作表名称加“$“再用中括号括起来,例如:select prov_name, city_name, xs_mc, xs_code from [Sheet1$]select * from [Sheet1$]???-- 取所有数据偶然发现,字段名不能用no,估计是保留字,如需要,用中括号括起来,例如:select [no],prov_name,city_name, xs_mc, xs_code from [Sheet1$]字段名中含有特殊字符的也要用中括号括起来,如/ ?空格 等Excel查询没有伪表概念,对于表达式的计算直接用select既可,例如Select 23+45??? -- 返回68Select date()??? -- 返回当前日期3、修改查询语句?方法:点击右键—弹出菜单—表格—编辑查询通过修改SQL语句可以变更所取的数据,也可以将建立查询时的简单SQL语句改成复杂的SQL语句。字段名更换:如果想换个字段名,用“as 新字段名”既可,例如:select prov_name as 省, city_name as 城市, xs_mc as 县市, xs_code as 编码 from [Sheet1$]非正常表格:数据区域(含字段名)不在第一行需要在工作表名称后面指定数据范围,例如:select prov_name, city_name, xs_mc, xs_code from [Sheet1$B2:G2000]或者,将数据块定义为一个名称,假设定义为mydata,SQL语句如下:select prov_name, city_name, xs_mc, xs_code from mydata注意:使用名称时没有$符号,也没有方括号了。数据更新:数据源发生变化,需要更新数据,方法:点击右键—弹出菜单—刷新意外:如果打开Excel文件后弹出不是选择工作表的窗口而是一个“数据连接属性”窗口,可以关闭这个窗口,然后将Excel应用极小化再极大化方式消除,或者在弹出选择文件的窗口时,退回上一级文件夹,删除那个Queries文件夹,就行了。4、外部数据属性修改SQL语句后,如显示格式不是预想的那样,需要去掉“外部数据属性”中“保留列属性”前面的勾选。方法:点击右键—弹出菜单—表格—外部数据属性,弹出窗口如下:二、复杂的查询1、多表联合相同结构的多个表合并到一起,用union连接SQL语句,例如:Select * from ?[财务部$] union all Select * from [市场部$]Union是去重复的,即相同的记录保留一个(类似distinct),Union all则是直接相加两个结果,不去重复。增加一个部门字段可以将查询结果中的区分开来,以便知道数据来自哪个表。Union的三个一致,即:字段的数量、类型和顺序。例如:Select “财务部” as 部门,* from ?[财务部$] union all Select “市场部” as 部门,* from [市场部$]多表联合查询Select * from ?[部门$] ?bm,??[员工$] ?yg where bm.部门编码=yg.部门编码跨工作簿查询如果数据不仅来自不同的工作表,还来自不同的文件,一样可以用union联合,例如:Select “分公司1” as 公司, “财务部” as 部门, * from [F:\SQL之Excel应用\分公司1.xlsx].[财务部$] union allSelect “分公司1” as 公司, “市场部” as 部门, * from [F:\SQL之Excel应用\分

文档评论(0)

yaobanwd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档