首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

查询语句,左右连接得到两个表中的数据

2012-01-01 
求一个查询语句,左右连接得到两个表中的数据要求得到表中两个表中所有的数据,没有的就为空,或者为零。数据:

求一个查询语句,左右连接得到两个表中的数据
要求得到表中两个表中所有的数据,没有的就为空,或者为零。

数据:
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

热点排行