左连接where只影向右表,右连接where只影响左表。
1. left join
select * from tbl1 Left Join tbl2 where tbl1.ID = tbl2.ID;
左连接后的检索结果是显示tbl1的所有数据和tbl2中满足where 条件的数据。
简言之 Left Join影响到的是右边的表
2. right join
select * from tbl1 Right Join tbl2 where tbl1.ID = tbl2.ID;
检索结果是tbl2的所有数据和tbl1中满足where 条件的数据。
简言之 Right Join影响到的是左边的表。
3. inner join
select * FROM tbl1 INNER JOIN tbl2 ON tbl1.ID = tbl2.ID;
select * from tbl1,tbl2 where tbl1.id=tbl2.id;
主:左链接为右, 右链接为右 (主:全显示; 副:只显示符合的部分)
left join : b <- A (A为主,b为副)
right join: A -> b (b为主,A为副)
LEFT JOIN
aID aNum bID bName
1 a20050111 1 2006032401
2 a20050112 2 2006032402
3 a20050113 3 2006032403
4 a20050114 4 2006032404
5 a20050115 NULL NULL
RIGHT JOIN
aID aNum bID bName
1 a20050111 1 2006032401
2 a20050112 2 2006032402
3 a20050113 3 2006032403
4 a20050114 4 2006032404
NULL NULL 8 2006032408