新建两个测试用表
aid atitle
1 a1
2 a2
4 a4
表b
bid btitle1 b1
2 b2
3 b3
select * from A inner join B on A.aid = B.bid 这是仅取出匹配的数据.
此时的取出的是,可以看出,inner join 并不以谁基础,只查询符合条件的记录
1 a1 1 b1
2 a2 2 b2
select * from A left join B on A.aid = B.bid
以表A的记录为基础,首先取出A表中所有数据,然后再加上与表B符合条件的数据,表B不符合的字段显示NULL
此时的取出的是:
aid atitle bid btitle
1 a1 1 b1
2 a2 2 b2
4 a4 null null
同样的也有right join:
select * from aa right join bb on aa.aid = bb.bid
以表B的记录为基础,指的是首先取出b表中所有数据,然后再加上与a,b匹配的的数据此时的取出的是:
aid atitle bid btitle
1 a1 1 b1
2 a2 2 b2
null null 3 b3