mybatisplus多表关联查询_Excel、MySQL、PowerBI、Python来告诉你 数据关联与联合不一样

阅读提示

本内容为日常频繁使用的数据处理操作,不涉及底层技术问题,烦请爱钻牛角的杠精绕行。

本内容尽量简单直白、步骤详细,适合数据分析入门。特别喜欢技术语言的大佬们,可自行跳过。

在上一篇:Python、PowerBI、Excel、MySQL,都能做?搞清楚数据聚合与分箱中

老海简单介绍了数据的分组聚合以及数据分箱操作。有兴趣的可以翻看之前的内容

239c1f051ad33c4fa776b2c0c01014e7.png

本期内容介绍数据的多表关联,以及多表联合操作部分,下面我们开始!

数据多表关联

使用Excel时:

  • Excel中一般使用VLOOKUP函数来关联不同的表格,特别注意该函数的使用特点
1aca40a0dc09bf4d1e216cc1c2568a08.png
  • 有时候VLOOKUP函数,会出现奇葩的BUG现象,尤其注意最后一个参数的选择
beee1e236bf25d20ecdc5a166d736c74.png

SQL:

  • MYSQL中通过JOIN的不同方式来进行关联操作,利用关键字段完成表格连接
789e43c8176fe5a91a71726b5495b03a.png
  • 具体的关联方式可以参考下图,无论是哪种SQL语法,基本的关联方式都是类似的
  • SQL操作时基本逻辑,主要是指定主表,从表,连接方式和连接字段
4a2f011a55c59d3b9122f03ae2461846.png

使用Power BI时:

  • 使用“主页”中的“合并查询”或“将查询合并为新查询”功能
e293a74925e6a08d41b30e0283e6b177.png
可以选择需要进行关联的表格,以及关联方式
f2ba524ac1ac0b27391541c881317ca4.png
  • 处理完成后,点击右上角的左右箭头标志,点击“展开”
3d2d87fe8f490dcad5e6c0b3c091dacd.png
  • 此时,可以展示出关联后的全部字段情况,当然也可以选择聚合起来。
157fe4a2de51b40458ac18a8f117e1e9.png

使用Python时:

  • 我们可以使用pandas中的merge函数
  • 传入4个参数,第一个是连接的主表,第二个是连接从表,第三个连接的key值,第四个是连接的方式,how为left时表示是左连接。此逻辑与SQL是相同的逻辑表达
8373da578e4ac9e3a087a05728ef1af3.png
实现inner join,outer join,right join,pandas中相应的how参数为inner或者不填,outer,right。SQL也是同样直接使用对应的关键字即可。其中inner join 可以缩写为join

数据多表联合

使用Excel时:

  • Exce的表格联合合并操作,一般直接使用SHITF + CTRL + 箭头键,来选择数据,然后复制 + 粘贴到最后一行完成。人人都会的操作,这里不再演示了
  • 当然也会涉及同一Excel中多个工作表,合并成同一个表格,此时可以考虑使用VBA,参考代码如下:
e4c1c94cd7f2a398512d80b1f7782824.png
sub 合并当前目录下所有工作簿的全部工作表() dim mypath, myname, awbname dim wb as workbook, wbn as string dim g as long dim num as long dim box as string application.screenupdating = false mypath = activeworkbook.path myname = dir(mypath & "" & "*.xls") awbname = activeworkbook.name num = 0 do while myname <> "" if myname <> awbname then set wb = workbooks.open(mypath & "" & myname) num = num + 1 with workbooks(1).activesheet .cells(.range("a65536").end(xlup).row + 2, 1) = left(myname, len(myname) - 4) for g = 1 to sheets.count wb.sheets(g).usedrange.copy .cells(.range("a65536").end(xlup).row + 1, 1) next wbn = wbn & chr(13) & wb.name wb.close false end with end if myname = dir loop range("a1").select application.screenupdating = true msgbox "共合并了" & num & "个工作薄下的全部工作表。如下:" & chr(13) & wbn, vbinformation, "提示" end sub

使用SQL时:

  • UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
  • 其中union相关操作分为union和union all两种。
  • 二者通常用于将两份含有同样字段的数据纵向拼接起来的场景。但前者会进行去重
b77995694a2fe85ae0d0186c1828dd29.png
  • 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。
  • 列必须拥有相似的数据类型。同时每条 SELECT 语句中的列的顺序必须相同
474abc9fa5ff0b2f25dcf1b5be0d7f92.png

使用Power BI时:

  • 在“主页”中选择“追加查询”或“将查询追加为新查询”的功能
da13ba0fe3310ff61e73e4eabb381c1b.png
  • 选择追加表格的数量,可以追加更多的表格,按照行的顺序进行合并操作
bda9551d92be17b29c8e281806b348a5.png
  • 追加的表格可以是字段相同的,也可以是字段不同的情况
89d9b0c08cb91a522779345a30b612a9.png

使用Python时:

  • 在pandas中一般使用.concat方法来进行数据联合操作,通过参数axis还可以通过合并联合的方式,比如默认为0时,是按照行的方向,当设置为1时,是按照列的方向进行。
6a5dbb7b8d4a94abfbc1026ff295f6ef.png

本系列文章:

第一篇:Excel、SQL、PowerBI、Python,谁更强大?数据工具终极对比 上篇

第二篇:数据查询与筛选:Excel、SQL、PowerBI、Python,比比谁更快

第三篇:数据更新删除与排序:横向对比 Python、PowerBI、Excel、MySQL

第四篇:Python、PowerBI、Excel、MySQL,都能做?搞清楚数据聚合与分箱

写在最后

66aec1af1ffaa58f22becfe213d4507d.png

OK,限于篇幅和时间,本篇内容先到这里了,这是本系列的第五篇,还剩最后1篇

欢迎关注后续内容,涉及存储与导出等操作。

本系列文章内容较长,总结了经常使用的操作提示

可以随手收藏下来,相信总有需要的时候!

觉得不错,别忘了点赞、转发一下,哈~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值