首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL数据库的外联接的有关问题

2013-10-31 
SQL数据库的外联接的问题?以下两张表:A(id,name)数据:(1,张三)(2,李四)(3,王五)B(id,name)数据:(1,学生)(2

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查询中生效

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

热点排行