本帖最后由 刘少华 于 2012-1-22 01:07 编辑
左联接就是以左边为基准,全部显示,右边根本条件与左边相同的就拼接上去,若没有匹配的则显示null值
右联接则跟左连接相反
内联接是只有条件匹配的才显示,不会出现null值
还有全外连接(这个好像有的数据库不支持),是两个表全都显示出来,没有匹配的就显示null值
我还是跟你举例说明吧:
表A aID aAge 表B bID bName
1 20 1 'tom'
2 25 3 'jim'
3 23 5 'jerry'
4 22 7 'lilei'
5 21 8 'bill'
左联接:select * from A left join B on A.aID = B.bID
结果为:aID aAge bId bName
1 20 1 ‘tom'
2 25 null null
3 23 3 'jim'
4 22 null null
5 21 5 'jerry'
右联接:select * from A right join B on A.aID = B.bID
结果为:aID aAge bId bName
1 20 1 'tom'
3 23 3 'jim'
5 21 5 'jerry'
null null 7 'lilei'
null null 8 'bill'
内联接:select * from A inner join B on A.aID = B.bID
结果为:aID aAge bId bName
1 20 1 ‘tom'
3 23 3 'jim'
5 21 5 'jerry'
全外联接:select * from A full join B on A.aID = B.bID
结果为:aID aAge bId bName
1 20 1 ‘tom'
2 25 null null
3 23 3 'jim'
4 22 null null
5 21 5 'jerry'
null null 7 'lilei'
null null 8 'bill'
我现在用这个电脑没装SQL,这些是我手写的,你可以实际运行一下,看有什么问题不 |