专栏首页海加尔金鹰的专栏学习日志——SQL几种表连接和连接效率

学习日志——SQL几种表连接和连接效率

学习原因

最近在进行一个数据展示的项目,问题是公司目前的情况是采集到了数据,将数据存入到了一个数据中心,然后就没有任何操作了。也就是说要从原始数据当中查询数据进行数据展示,这是一个很难受的过程,但是又是一个要必然经历的过程,因为原始数据来了之后,必然要通过实际的业务来检验数据的正确性,有效性和质量,然后就对应的业务数据进行清洗,提取存入业务库,方便以后的操作。然后后端代码基本上没怎么写,全部都思考查询sql应该怎么写了。

表连接

交叉连接查询(cross join)

多个表联合查询,这种方式如果不添加where条件的话会产生笛卡儿积 但是添加了where条件的话又相当于inner join 内连接

SELECT  * FROM  表A,表B  where  A.xx=B.xx

内连接(inner join )

这种就相当于上面交叉连接添加了where条件。同时可以省略掉inner ,只写join。 内连接返回数据是条件相等的数据。也就是交集

SELECT  * FROM  表A  inner join  表B  on  A.xx=B.xx

外连接 (outer join)

外连接分为 left join 和right join。 left join(左外连接)表示以左边的表为主表,无论ON后面的条件是否满足,都会返回左边的表的数据。 right join(右外连接)表示以右边的表为主表,无论ON后面的条件是否满足,都会返回右边的表的数据。

SELECT  * FROM  表A left  join  表B  on  A.xx=B.xx
SELECT  * FROM  表A right  join  表B  on  A.xx=B.xx

全连接(full join)

全连接(full join),返回的是全部的数据。

SELECT  * FROM  表A full  join  表B  on  A.xx=B.xx

但是在mysql当中是不支持 full join的 需要通过左外连接+union + 右外连接实现。

连接效率问题

这个的话,在网上找了很多资料,也自己创建了很多的假数据进行验证,验证过程很简单就不记录了。 在同样的条件下 left join 和right join 效率是一样的。 同时:inner join > outer join > full join

相关资料

图解 SQL 中各种连接 JOIN 深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接


标题:学习日志——SQL几种表连接和连接效率 作者:海加尔金鹰 地址:https://www.hjljy.cn/articles/2019/05/30/1559231642979.html

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 新机开发环境装机软件记录

    标题:新机开发环境装机软件记录 作者:海加尔金鹰 地址:https://www.hjljy.cn/articles/2020/06/08/1591608...

    海加尔金鹰
  • JAVA基础复习之JDBC(配置动态数据源)

    在项目的开发当中,之前数据库连接信息都是写死在配置文件当中。但是突然接到一个需求: 获取外部数据源信息,然后将某些数据通过Echarts绘制成折线图展示出来...

    海加尔金鹰
  • springboot整合MongoDB

    网上安装教程一大堆,不过官方网站的教程最详细:官网windows下安装MongoDB

    海加尔金鹰
  • 表格的融合

    有时候两个数据框并没有很好地保持一致,不能简单地使用cbind()和rbind()函数,所以他们需要一个共同的列(common key)作为细胞融合的依据。最常...

    爱学习的小明明
  • 手把手教你Serverless的沙龙来不来约?

    “从行业趋势看,Serverless是云计算必经的一场革命。”

    云加社区
  • Mysql 常用函数(8)- concat 函数

    https://www.cnblogs.com/poloyy/p/12890763.html

    小菠萝测试笔记
  • W8scan:一款模仿Bugscan的漏洞扫描器

    用户1697231
  • Eclipse 升级管理器 TUM 发布了

    Tikal ,是一家开源的开发工具提供商。最近发布了  Tikal Update Manager (TUM). TUM 是一个Eclipse 及其插件,工具的安...

    田春峰-JCJC错别字检测
  • MongoDB开启shard操作最小权限用户授权

    通过这样限制,最多只会影响到指定的数据库, 避免因为程序问题或者其他外部因素导致数据处理逻辑出问题而影响到整个集群。

    拓荒者
  • 大咖分享预告 | 腾讯云中 Elastic Stack 的 Beats 部署最佳实践

    ? 直播预告 8月7日 (周四)  14:00——15:00 腾讯云大学将邀请 Elastic公司社区布道师 刘征老师 带来 《腾讯云中 Elastic ...

    腾讯QQ大数据

扫码关注云+社区

领取腾讯云代金券