sql中join的各种用法

2022-06-29 13:38:29

sql中join的用法

sql中join的含义可以理解为单词“join”,用来连接两张表,join所有连接方式可以分为:
内连接,外连接,右连接,左连接,自然连接
在这里插入图片描述
上面这张图已经很清晰的表明了各种连接方式的语法。
如果多对与整体表的查询进行分类,按照下面表格进行:
在这里插入图片描述


内连接:

***内连接INNER JOIN是最常用的连接操作。从数学的角度讲就是求两个表的交集,从笛卡尔积的角度讲就是从笛卡尔积中挑出ON子句条件成立的记录。join,inner join,有INNER JOIN,WHERE(等值连接),STRAIGHT_JOIN,JOIN(省略INNER)四种写法。

**

外连接:

**left join,left outer join,right join,right outer join,union

左连接LEFT JOIN
求两个表A表和B表的交集外加左表剩下的数据。依旧从笛卡尔积的角度讲,就是先从笛卡尔积中挑出ON子句条件成立的记录,然后加上左表A表中剩余的记录(见最后三条)。

右连接 RIGHT JOIN

同理右连接RIGHT JOIN就是求两个表A和B表的交集外加右表B剩下的数据。再次从笛卡尔积的角度描述,右连接就是从笛卡尔积中挑出ON子句条件成立的记录,然后加上右表中剩余的记录(见最后一条)

外连接 FULL OUTER JOIN

外连接就是求两个表A和B集合的并集。从笛卡尔积的角度讲就是从笛卡尔积中挑出ON子句条件成立的记录,然后加上左表中剩余的记录,最后加上右表中剩余的记录。另外MySQL不支持OUTER JOIN,但是我们可以对左连接和右连接的结果做 UNION 操作来实现。

交叉连接:cross join
详细链接:https://blog.csdn.net/qq30211478/article/details/78670374

  • 作者:Claire_wulian
  • 原文链接:https://blog.csdn.net/weixin_42388255/article/details/116450944
    更新时间:2022-06-29 13:38:29