关于sql问题,请高手解答

来源:百度知道 编辑:UC知道 时间:2024/06/20 06:28:34
最近遇到一个难题,希望高手解答:
如下:
有两张表分别叫tableA和tableB
tableA有字段A(主键),B(是tableB的外键),C;
tableB有字段B(主键),D;
在插入tableA时,字段B有时侯不需要和tableB关联对tableA的字段B插入了null(意思就是B可以与tableB的B关联,也可能没有关联是null)
现在我想查询出数据A,D,C该怎么查询
如果这样查询,取不出B字段为null的部分
select A,D,C from tableA,tableB where tableA.B=tableB.B
请高手解决

根据你的描述,用【tableA】左联【tableB】可以达到你要的效果:
select A.A,B.D,A.C from tableA A left join tableB B on A.B=B.B;

*************************
实施log,仅供参考
*************************
[TEST@ora1] SQL>select * from tableA;

A B C
---------- ---------- ----------
100 200 300
101 300

[TEST@ora1] SQL>select * from tableB;

B D
---------- ----------
200 400

[TEST@ora1] SQL>select A.A,B.D,A.C from tableA A left join tableB B on A.B=B.B;

A D C
---------- ---------- ----------
100 400 300
101 300

---
以上,希望对你有所帮助。

SQL SERVER:
select A,D,C from tableA left join tableB on tableA.B=tableB.B
ORACLE:
select A,D,C from tableA ,tableB where tableA.B=tableB.B(+)

你是想把A表的