0
点赞
收藏
分享

微信扫一扫

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


[1] 示例数据

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

  a_table:

【MySQL】(图解)快速理解内连接、外连接、左连接、右连接_database

  b_table:

【MySQL】(图解)快速理解内连接、外连接、左连接、右连接_查询语句_02

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

  查询语句:

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

  查询结果:

【MySQL】(图解)快速理解内连接、外连接、左连接、右连接_数据库_03

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

  查询语句:

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

  查询结果:

【MySQL】(图解)快速理解内连接、外连接、左连接、右连接_database_04

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

  查询语句:

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

  查询结果:

【MySQL】(图解)快速理解内连接、外连接、左连接、右连接_查询语句_05

[5] 总结

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

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


举报

相关推荐

0 条评论