Sql 具有空值的Oracle联接表
我有两张带唯一键的桌子。下面是表中键的示例Sql 具有空值的Oracle联接表,sql,oracle,join,null,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,但这会
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,但这会返回许多我认为是重复的行。另外,如果do a.key为null或a.key=select b.key from b其中b.key=a.key有效,那么这里有一个奇怪的事情,但我想避免子选择
有什么想法吗?试试:
SELECT somecolumn
FROM a
JOIN b
ON a.somecolumn = b.anothercolumn
UNION ALL
SELECT somecolumn FROM a
WHERE somecolumn is null;
演示:为什么2个空值为什么不3个空值???看看您的输入和所需的输出,在SQL中不可能做到这一点,在逻辑上也不可能做到这一点。请解释您希望如何操作NULL的规则。在所需结果中应为三个NULL。