Oracle连接Null表

时间:2015-04-02 15:22:56

标签: sql oracle join null

我有两张带有唯一键的表。以下是表中键的示例

Table A                      Table B
1                              3
2                              4
3
4
Null
Null
Null

我希望将表A连接到表B,其中键匹配或表A具有空值。

The desired result set would be
3
4
Null
Null
Null

我已经尝试过a.key是null或者a.key = b.key,但是返回了很多行,我认为这些行是重复的。另外,如果a.key为null或a.key =(从b中选择b.key,其中b.key = a.key),这是奇怪的事情,但是我想避免使用子选择。

有关正在发生的事情的任何想法?

1 个答案:

答案 0 :(得分:-1)

尝试:

SELECT somecolumn
FROM   a
JOIN   b
ON a.somecolumn = b.anothercolumn
UNION ALL
SELECT somecolumn FROM a
WHERE somecolumn is null;

演示:http://sqlfiddle.com/#!4/ea6af/2