【发布时间】:2020-05-22 15:53:39
【问题描述】:
我有一个示例数据集,如下所示:
Id Name ReferredBy
1 John Doe NULL
2 Jane Smith NULL
3 Anne Jenkins 2
4 Eric Branford NULL
5 Pat Richards 1
6 Alice Barnes 2
如果我想选择 Jane Smith 未提及的所有记录,我将使用以下命令:
SELECT Name FROM Customers WHERE ReferredBy <> 2;
在 SQL Server 上,这将排除 NULL 值,因此我需要按以下方式编写它:
SELECT Name FROM Customers WHERE ReferredBy IS NULL OR ReferredBy <> 2
HiveQL 是否有同样的问题?
*很难在我拥有的原始数据集上对其进行测试,因为它非常大,几乎没有缺失。
谢谢!
【问题讨论】:
-
这不是问题。这就是
NULL值在 SQL 中的定义方式以及所有数据库的行为方式。 -
那么第一条语句会给出想要的输出?
-
。 .大概,第二个是你想要的。这基本上是任何数据库都需要的,尽管一些数据库支持
NULL-safe 运算符,如我的回答中所述。