下面給一個例子進行說明:
例
表a aid adate
1 a1
2 a2
3 a3
表b bid bdate
1 b1
2 b2
4 b4
left join: select * from a left join b on a.aid = b.bid
首先取出a表中所有數據,然後再加上與a,b匹配的的數據
此時的取出的是:
1 a1 b1
2 a2 b2
3 a3 空字符
同樣的也有right join 指的是首先取出b表中所有數據,然後再加上與a,b匹配的的數據
此時的取出的是:
1 a1 b1
2 a2 b2
4 空字符 b4
呵呵,大家千萬注意,左右連接跟兩個表a,b相連接,要取出id相同的字段數據是不一樣的,
select * from a ,b where a.aid = b.bid這是僅取出匹配的數據.
此時的取出的是:
1 a1 b1
2 a2 b2
這裡順便說明下union 、union all
union是連接兩個表的數據並排除所有重復的數據。
而union all不排除重復的數據。
下面是你可能感興趣的文章:
超詳細mysql left join,right join,inner join用法分析
SQL 外鏈接操作小結inner join left join right join
SQL中的left join right join