读书人

SQL中外键为空,该怎么解决

发布时间: 2012-01-31 21:28:41 作者: rapoo

SQL中外键为空
有两张表A,B
其中A中有一个主键id,一个外键fid
id fid
1 101
2 102
3 103
4 null
B表中也有一个主键为fid,以及一个fname
fid fname
101 武汉
102 长沙
103 黄冈
现在要将A表中的id和B表中的fname显示出来
要显示成如下形式
id fname
1 武汉
2 长沙
3 黄冈
4 null (关键是要显示这一行)
就是说,如果fid对应为null的话,该行还是要显示出来,这样SQL 怎么写了

[解决办法]
select a.id,b.fname from a left join b on a.fid=b.fid

[解决办法]
create table A(id int,fid int)
create table B(fid int,fname varchar(20))
insert A select 1,101
union all select 2,102
union all select 3,103
union all select 4,104

insert B select 101, '武汉 '
union all select 102, '长沙 '
union all select 103, '黄冈 '

select A.id,B.fname from A left join B on A.fid=B.fid

id fname
----------- --------------------
1 武汉
2 长沙
3 黄冈
4 NULL

(所影响的行数为 4 行)

读书人网 >SQL Server

热点推荐