求一个查询语句,左右连接得到两个表中的数据
要求得到表中两个表中所有的数据,没有的就为空,或者为零。
数据:
tableA
a b
001 34
002 54
003 26
tableB
a c
001 90
003 80
005 100
要求得到如下数据:
a b c
001 34 90
002 54 null
003 26 80
005 null 100
------解决方案--------------------select isnull(a.a , b.a) a , a.b , b.c
from a full join b on a.a = b.a
------解决方案--------------------select isnull(a1.a,b1.a),a1.b,b1.c from tableA a1 full outer join tableB b1
on a1.a=b1.a
------解决方案--------------------select isnull(a.a,b.a),a.b,b.c from tbla a full join tblb b
on a.a=b.a
------解决方案-------------------- create table tableA(a char(3),b int)
insert into tableA
select '001 ',34 union all
select '002 ',54 union all
select '003 ',26
create table tableB(a char(3),c int)
insert into tableB
select '001 ',90 union all
select '003 ',80 union all
select '005 ',100
select isnull(a.a,b.a)as a,a.b,b.c from tableA a full join tableB b
on a.a=b.a
drop table tableA,tableB