MySQL(图解)快速理解内连接外连接左连接右连接

Posted 征途黯然.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL(图解)快速理解内连接外连接左连接右连接相关的知识,希望对你有一定的参考价值。

[1] 示例数据

  用两个表(a_table、b_table),关联字段a_table.a_id和b_table.b_id来演示一下mysql的内连接、外连接( 左(外)连接、右(外)连接)。

  a_table:

  b_table:

[2] 内连接(取两表交集)

  查询语句:

select * from a_table a inner join b_table b on a.a_id = b.b_id;

  查询结果:

[3] 左连接(先查左边表所有数据,然后按on条件拼接)

  查询语句:

select * from a_table a left join b_table b on a.a_id = b.b_id;

  查询结果:

[4] 右连接(先查右边表所有数据,然后按on条件拼接)

  查询语句:

select * from a_table a right join b_table b on a.a_id = b.b_id;

  查询结果:

[5] 总结

  如果是左连接,就先把左边表的所有数据都查出来,然后以on后面的条件去右边表中搜索,匹配的就拼接到刚刚查询出的数据上,没有匹配的,就为NULL;

  如果是右连接,就先把右边表的所有数据都查出来,然后以on后面的条件去左边表中搜索,匹配的就拼接到刚刚查询出的数据上,没有匹配的,就为NULL;

以上是关于MySQL(图解)快速理解内连接外连接左连接右连接的主要内容,如果未能解决你的问题,请参考以下文章

图解MySQL 内连接外连接左连接右连接全连接

MySQL 的内连接、左连接、右连接有啥区别?

图解数据库左连接右连接内连接外连接全连接的区别

图解数据库左连接右连接内连接外连接全连接的区别

图解数据库左连接右连接内连接外连接全连接的区别

内连接,外链接(左连接右连接全连接),交叉连接大总结+附SQL JOINS图解[转]