用两个表(a_table、b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接、外连接( 左(外)连接、右(外)连接)。
a_table:
b_table:
查询语句:
select * from a_table a inner join b_table b on a.a_id = b.b_id;
查询结果:
查询语句:
select * from a_table a left join b_table b on a.a_id = b.b_id;
查询结果:
查询语句:
select * from a_table a right join b_table b on a.a_id = b.b_id;
查询结果:
如果是左连接,就先把左边表的所有数据都查出来,然后以on后面的条件去右边表中搜索,匹配的就拼接到刚刚查询出的数据上,没有匹配的,就为NULL;
如果是右连接,就先把右边表的所有数据都查出来,然后以on后面的条件去左边表中搜索,匹配的就拼接到刚刚查询出的数据上,没有匹配的,就为NULL;