sql leftjoin 如果为空不关联_Excel的SQL语法之终结篇

本文是最后Excel SQL语法的最后一篇文章了。在Excel中如何使用SQL和SQL的初级语法见我前面的文章,有问题的地方可以在评论区直接问我。本文的所有SQL都是基于下面三张表进行操作的

1.学生信息表

2e3bd64809aee8608293b4b2c6f4d495.png

2.学生成绩表

0579be6f77d8eda25e2c99f53ff7936a.png

3.学生兴趣表

7cc82273613136a4d5a2751876eaa389.png

在这篇文章中主要讲一些稍微复杂的数据处理方法。主要包括模糊查询、嵌套查询、多字段关联、多表合并。

一. 模糊查询

模糊查询通过LIKE操作实现,例如要选出出生日期为2001年的记录,SQL语句如下

SELECT * FROM [学生信息表$] WHERE 出生日期 LIKE '2001%';

其中%表示通配符。执行结果如下

737fd799083db1c579163ded4ce36a36.png

二. 嵌套查询

比如通过INNER JOIN关联合并上面三张表,需要先将前两张表合并,并作为一个子查询语句和第三张表再进行INNER JOIN,即多张表合并可以通过两两依次合并的方式完成。SQL语句如下

e2fd064885698b481bb559a17d1a4763.png

执行结果如下

06860c04509f03d64e04efb7ba541ea9.png

三. 多字段关联表

在前面,我们在关联两张表时,都用学号这一个key去关联的。有时候需要多个key去关联两张表,这时候只需要用AND将多key的关联条件连起来就可以了。例如现在根据学号和年龄对学生信息表和学生成绩表进行关联,SQL语句如下

71583904ede5acda6cbd4e0cce753ec2.png

如果多个条件通过AND连接,以此类推。

四. 多表合并

这里多表合并是指将多张表的数据都合并到一张表,不遗漏任何一个key。比如两张表合并需要使用FULL JOIN就可以了,三张表合并就先用FULL JOIN合并前两张,再做一个嵌套去合并第三张。但是Excel SQL不支持FULL JOIN,如果通过LEFT JOIN、RIGHT JOIN和UNION去实现FULL JOIN,再嵌套两两合并,效率会很低,而且代码量非常大和臃肿。

其实可以通过另一个思路去解决,先得到所有的key,然后再两两通过LEFT JOIN合并就可以了,例如上面三张表的合并,SQL语句如下

702e092741ec4cecfe94bd6931780f44.png

执行结果如下

a863d63020a4c5b0ae1b0b3994b4a3c2.png

至此,Excel SQL的语法基本上就讲完了,关于SQL的许多优化技巧还需要自己多写代码多练,才能有更深的体会。在Excel通过SQL处理好数据后,直接可以进行数据透视,而且数据增加时,只需要更新一下就好了,对于经常使用Excel的人来说还是比较方便的。

如果有不懂或需要SQL来解决的问题,都可以评论区直接留言讨论交流,谢谢!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值