天天看点

full outer join 与full join的区别_Join有哪几种方式?内外连接有什么区别?

full outer join 与full join的区别_Join有哪几种方式?内外连接有什么区别?

join有5中连接方式:

  • 内连接(inner join…on…)
  • 全外连接(full join…on…)
  • 左连接(left join…on…)
  • 右连接(right join…on…)
  • 交叉连接(cross join …on…)
  1. 内连接(inner join… on…)
select
           

通过id将table1

和table2连接起来产生一个新表,新表是由这个表的公开部分组成;如下图:

full outer join 与full join的区别_Join有哪几种方式?内外连接有什么区别?

内连接

    1. 左外连接(left join …on…)
select
           

是以左表(table1)为基准,查询结果中包含左表全部数据,右表匹配数据不存在时用null代替;如下图:

full outer join 与full join的区别_Join有哪几种方式?内外连接有什么区别?

左外连接

    1. 右外连接(right join …on…)
select
           

跟左外连接相对应,是以右表(table2)为基准,查询结果中包含右表全部数据,左表数据匹配不存在时用null代替;如下图:

full outer join 与full join的区别_Join有哪几种方式?内外连接有什么区别?

右外连接

    1. 全外连接(full join …on…)
select
           

全外连接其实是左连接和右连接的一个合集,也就是说他会查询出左表和右表的全部数据,匹配不上的会显示为null;如下图:

full outer join 与full join的区别_Join有哪几种方式?内外连接有什么区别?

全外连接

    1. 交叉连接(cross join…)
select
           

交叉连接,也称为笛卡尔积,查询返回结果的行数等于两个表行数的乘积。

继续阅读