sql 左联 右联 内联的区别
如有表
a(col1,col2),
a,1
b,1
b(col1,col2)
a,3
c,2
内部联接是指只返回符合联接条件的资料,
如select * from a join b on a.col1 = b.col1 只返回符合条件a.col1 = b.col1的资料
结果如下
a,1,a,3
左外联接不仅返回符合条件的资料还返回左表中的资料
如select * from a left join b on a.col1 = b.col1 返回符合条件a.col1 = b.col1的资料,及a中其馀不符
合条件的资料,此时b中对应的资料为null
结果如下
a,1,a,3
b,1,null,null
右外联接不仅返回符合条件的资料还返回右表中的资料
如select * from a right join b on a.col1 = b.col1 返回符合条件a.col1 = b.col1的资料,及b中其馀不符合条件的资料,此时a中对应的资料为null
结果如下
a,1,a,3
null,null,c,2
a(col1,col2),
a,1
b,1
b(col1,col2)
a,3
c,2
内部联接是指只返回符合联接条件的资料,
如select * from a join b on a.col1 = b.col1 只返回符合条件a.col1 = b.col1的资料
结果如下
a,1,a,3
左外联接不仅返回符合条件的资料还返回左表中的资料
如select * from a left join b on a.col1 = b.col1 返回符合条件a.col1 = b.col1的资料,及a中其馀不符
合条件的资料,此时b中对应的资料为null
结果如下
a,1,a,3
b,1,null,null
右外联接不仅返回符合条件的资料还返回右表中的资料
如select * from a right join b on a.col1 = b.col1 返回符合条件a.col1 = b.col1的资料,及b中其馀不符合条件的资料,此时a中对应的资料为null
结果如下
a,1,a,3
null,null,c,2