今天在微博上看到一篇文章,是关于《在Excel中使用SQL语句实现精确查询》,觉得非常受用,分享给大家。

微博上有人回复评论说直接用vlookup、或者导入数据库进行查询处理就好了,岂不是更高效、更灵活;其实给人的第一直观感觉是这样子的,但是我们多想一步,这篇文章的应用场景、使用前提条件是什么?我想到的有以下几个方面:①数据量不是很大的时候;②数据结构导入数据库不是很合适、或要转换,反而显得麻烦;③使用Vlookup比较多的同学,相信明白匹配不是那么精确的,而且会返回“#N/A错误值”,另外vlookup每次返回的是一列值;④在Excel环境里面,可以很好的和表格、图表进行结合,使用数据刷新功能一劳永逸的完成了常规图表的自作。在我想到的这几个前提环境下,相信使用这种方式会比较高效。另外一点,这篇文章提到的这个功能点和技巧告诉大家一个信息,其实在Excel里面也是可以进行数据查询和数据库查询的(在这个功能区下还有数据库查询哦,自己去研究)。

言归正传,整理自原文以例子的方式来分享下这个功能模块的使用。

有如下的2张表,表1里面包含姓名、时间、培训内容字段的数据,表2包括姓名、职务、年薪字段的数据,我们可以看到2张表都有姓名字段。

表1

表2

现在想统计表2中名单上的人在表1中的培训记录。人肉实现或者Vlookup的方式当然这个简单的Case可以实现,但是要学会举一反三,学习方然是以简单的例子给你讲解(还纠结的回到文章开头去想前提条件和你能想到能运用的场景)。这里给大家介绍在Excel中使用简单SQL语句的方法来实现对不同表格间数据的整合和筛选。

首先,也是最重要的一部是为这两个表命名,方法是选中表格后单击右键选择“定义名称”,如下所示

单击后,出现命名对话框

这里将表1和表2分别命名为Table1和Table2。

然后选择上方的“数据”选项卡,选择“自其他来源”下的“来自Microsoft Query ”选项

在弹出的对话框中选择Excel Files*那一项,并且把对话框下面的“使用“查询向导”创建/编辑查询”勾掉,如下图所示

然后点击“确定”,便出现“选择工作簿”的对话框,这里选择包含表1和表2的工作表Sample.xlsx

点击确定后之后弹出添加表的对话框,如下图所示

这里要将Table1和Table2都添加一遍,添加完成后,查询器应当是如下图所示的样子

此时,单击图10中输入SQL语句的按钮,弹出输入SQL语句的对话框,如下图所示

上图中的代码是这样的,偷懒的同学可以直接CTRL+C/CTRL+V:
SELECT Table1.姓名, Table1.时间, Table1.培训内容, Table2.姓名
FROM Table1,Table2
WHERE Table1.姓名 = Table2.姓名

其基本含义就是将表1中和表2中姓名相符的记录从表1中筛选出来。SELECT语句是SQL语言中最基础也是最重要的语句之一,加上WHERE语句后的限制条件,可以实现大多数的数据查询和筛选工作,其语法也不困难,稍微学习一下就会了。输入完代码,单击确定,就可以看到筛选出来的数据表了,如下图所示

接下来的工作就是将筛选出来的数据表再返回至Excel工作表当中,选择菜单中的“文件”——“将数据返回Microsoft Excel”,如下图所示

接下来的步骤该干嘛就不罗嗦了。

至此,该教程就讲解完成了。在Excel中使用SQL语句可以实现更灵活、准确、高效的数据筛选和匹配、汇总、计算等,文章提到的例子只是最简单的Case,大家可以去结合自己的工作场景玩出更多花样,相信会有所收获的。

说明:以上文字并非原创,来自数据分析网,文章仅用作学习收藏。

在Excel中使用SQL语句实现精确查询​www.afenxi.com

在这个功能区下还可以链接Access数据库。方法步骤与上述一致。

但是功能模块好像只能链接access、SQL server两种主流的数据库,如果想要链接其他,如MySQL、Oracle等,需要借助Power Query。具体操作方法,详见文章;

海纳百川:Power query数据处理-从Mysql数据库导入数据至Excel​zhuanlan.zhihu.com

access如何查询两张表的内容_在Excel中使用SQL语句实现精确查询相关推荐

  1. access如何查询两张表的内容_计算机二级access题库

    计算机二级access题库 答案在文末 1.在Access数据库中,一个关系就是一个[ A]. A)二维表     B)记录 C)字段     D)数据库 综合数据 2. 设有部门和员工两个实体,每个 ...

  2. access如何查询两张表的内容_为什么可以的话,不要使用星号 *,而是相应的字段名来进行查询 MySQL内连接如何选择驱动表

    参考: 掘金小册​juejin.im 首先要了解单表查询方法,也就是explain中出来的,ref,index,const,all之类的. 然后了解index查询方法,也就是在联合索引中,条件不是第一 ...

  3. access如何查询两张表的内容_Access使用技术2:使用交叉表查询向导进行每日汇总...

    个人主页:http://office-access.cn 公众号:DataMapHuanyu Access使用技术2:使用交叉表查询向导进行每日汇总 Access交叉表查询可以合并每日的量,日汇总功能 ...

  4. 在Excel中使用SQL语句查询和筛选

    本文转自:http://blog.sina.com.cn/s/blog_5fc375650102e1g5.html 今天在微博上看到@数据分析精选 分享的一篇文章,是关于<在Excel中使用SQ ...

  5. mysql 左连接两张表_mysql左连接右连接(查询两张表不同的数据)

    left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 : right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录: inner join(等值连 ...

  6. 【转】在SQL Server中通过SQL语句实现分页查询

    在SQL Server中通过SQL语句实现分页查询 2008年01月06日 星期日 12:28 建立表: CREATE TABLE [TestTable] ( [ID] [int] IDENTITY ...

  7. 在EXCEL中使用SQL语句查询

    SQL语句在数据库使用中十分重要. 在EXCEL中可以不打开工作簿,就获取数据,对多工作簿操作很用,也很快. 对大量数据处理,比循环快很多,但是比词典方法还有点距离(可惜我还没有学会词典). 对数据库 ...

  8. 在JDBC中实现SQL语句的模糊查询

    在JDBC中实现SQL语句的模糊查询 在大多数情况下我们可以在JDBC中写入sql语句通过占位符的方式来直接查询,但是如果要进行模糊查询,需要转义字符才能够正常查询. sql语句: select * ...

  9. sql查询两张表的并集union和union all

    使用 union all 和 union 1.新建两张表:student.teacher //学生表 create table student( id int primary key, name va ...

  10. mysql 查询两张表结构相同的数据库_利用反射处理多个表结构相同的数据的查询和数据库表的关联...

    最近做一个项目,需要对人口数据进行查询,但是人口数据分布在不同的街道表中,首先进行了数据表结构的统一,每个数据表以街道名开头,然后其他的名字都一样 前期将各个表中的字段也进行了统一 抽象出一张字典表 ...

最新文章

  1. 读写分离很难吗?SpringBoot结合aop简单就实现了
  2. RDKit | 基于RDKit的MaxMin方法选择高度多样化的库
  3. 2017年终奖发放,程序员人均11776元排名第一!
  4. CentOS四种方法自建yum仓库
  5. mvn install java版本,maven的打包命令--assemblyinstall和maven update之后jdk版本变回1.5的问题...
  6. 信息学奥赛C++语言: 计算两个数的最大公约数
  7. 利用 AFN 上传相册或拍照图片
  8. 重磅:服务器基础知识全解终极版(145页PPT)
  9. dtoj#4179. 排行(rank)
  10. linux 内存清理/释放命令(也可用于openwrt和padavan等系统的路由器)
  11. asp.net oracle连接数据库,通过ASP.NET连接Oracle数据库实例教程
  12. Java多线程之定时任务 以及 SpringBoot多线程实现定时任务以及分享动态实现定时任务
  13. 新浪vip邮箱 服务器,新浪手机邮箱
  14. 虾米音乐的一个小功能
  15. Block will be retained by an object strongly retained by the captured object
  16. vue element上传额外参数
  17. 【笔记】excel预加载word引用
  18. 共享纸巾“初纸”获数千万元A轮融资,水滴石基金领投
  19. KEIL、uVision、RealView、MDK、KEIL C51区别比较
  20. 浅谈Linux下各种压缩 解压命令和压缩比率对比

热门文章

  1. nginx-0.1.0文件分析2: ngx_socket.c
  2. combo 边写边选的注意事项
  3. C/C++程序员应聘常见面试题深入剖析(1)
  4. Java ClassLoader基础及加载不同依赖 Jar 中的公共类
  5. [2018.10.11 T3] 欠钱
  6. BZOJ2752[HAOI2012] 高速公路(road)
  7. BZOJ3781 小B的询问
  8. 计算机导论的计算题,计算机导论复习题(选择部分)汇总
  9. 怎么解Linux内核温控,Linux Thermal 框架解析
  10. axure如何导出原件_AXURE教程:管理后台页面框架