日期:2014-05-17  浏览次数:20477 次

SQL数据库的外联接的问题?
以下两张表:
A(id,name)
数据:(1,张三)(2,李四)(3,王五)
B(id,name)
数据:(1,学生)(2,老师)(4,校长)

左连接结果:
select A.*,B.* from A left join B on A.id=B.id;
1 张三 1    学生
2 李四 2    老师
3 王五 NULL NULL

右链接结果:
select A.*,B.* from A right join B on A.id=B.id;
1    张三 1 学生
2    李四 2 老师
NULL NULL 4 校长


---怎样left join和 right join分辨哪个是主表,哪个是从表?
怎样可以更好的将实质的区别出来,谢谢高手了!!!
数据库 sql

------解决方案--------------------
左联中左边的就是主表,右连的话右边就是主表,哪个是主表,查询时候就会显示那个,其他的就“可能”出现null,我一直都这样来写
------解决方案--------------------
你在在表B里面加一个id=2,name=后勤,然后执行上面两句话。
------解决方案--------------------
left join ,左边主
right join ,右边主
不过你还是加上我说的试试
------解决方案--------------------
left join查询:左边全部显示;右边符合条件就显示,不符合条件则为null.
right join查询:右边全部显示;左边符合条件就显示,不符合条件则为null.

无论是左联还是右联,where 的过滤条件都select查询中生效

------解决方案--------------------
我知道,左连接对左边的表没有限制,右连接对右边的表没有限制,还有个全外连接,对两边的表都不加限制,对于内连接,两个表相匹配的行才能在结果集中显示出现!!!