关闭

sql left join 命令详解

471人阅读 评论(0) 收藏 举报
分类:
左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。
-
给个通俗的解释吧. 
例表a 
aid adate 
1 a1 
2 a2 
3 a3 
表b 
bid bdate 
1 b1 
2 b2 
4 b4 
两个表a,b相连接,要取出id相同的字段 
select * from a inner join b on a.aid = b.bid这是仅取出匹配的数据. 
此时的取出的是: 
1 a1 b1 
2 a2 b2 
那么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 


LEFT JOIN 或 LEFT OUTER JOIN。 
左向外联接的结果集包括 LEFT OUTER 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。
详细出处参考:http://www.jb51.net/article/19009.htm
0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:100542次
    • 积分:1766
    • 等级:
    • 排名:千里之外
    • 原创:71篇
    • 转载:77篇
    • 译文:0篇
    • 评论:5条
    最新评论