SQLServer join表连接用法
join的作用不用多说,在查询数据时的常用方法。join通常有四种用法,在这里我们来看下每种方法所取得的数据结果的差异。
模拟数据表A,B
表A数据内容:
表B数据内容:
方法一:left join
语句:select * from A left join B on A.id=B.id
结果:A为基准表,连接B表符合条件的记录,无相符内容则留空
方法二:right join
语句:select * from A right join B on A.id=B.id
结果:B为基准表,连接A表相符的记录,无相符记录则留空。
方法三:inner join
语句:select * from A inner join B on A.id=B.id
结果:没有基准表,只取A、B两表中条件相符的记录,不相符的记录全部舍弃。
方法四:full outer join
语句:select * from A full outer join B on A.id=B.id
结果:先以A表为基准,且A、B两表数据全部取入,并按条件优先连接条件相符的B表数据,无相符的留空,B表余下无主数据放在最后。
总结四种方法的结果差异
A left join B
A right join B
A inner join B
A full outer join B