日期:2014-05-19  浏览次数:20457 次

SQL查询问题:如何让不存在的记录也显示?
有2个表,如下:
表a:
id             cname
1                 张
2                 林
3                 王
4                 刘

表b:
id             charge
1                 30
3                 80

如何实现如下结果:
id                 cname             charge
1                     张                     30
2                     林                       0或null或干脆显示空白
3                     王                     80
4                     刘                       0或null或干脆显示空白

------解决方案--------------------

Select
A.id,
A.cname,
IsNull(B.charge, 0) As charge
From
A
Left Join
B
On A.id = B.id
------解决方案--------------------
select a.*,b.charge from 表a a left jion 表b b where a.id=b.id order by id
------解决方案--------------------
left join --实现
2000或以下的版本可用
*=
------解决方案--------------------
LEFT OUTER JOIN 或 LEFT JOIN

SELECT a.id, a.cname, b.charge
FROM a LEFT OUTER JOIN b On a.id = b.id

------解决方案--------------------
左连接~
------解决方案--------------------
Select A.id,A.cname,IsNull(B.charge, 0) As charge
From A
Left Outer Join B
On A.id = B.id

在SQL2005中测试通过
------解决方案--------------------
left join