我尝试了一个在 Postrgresql、Spark 上测试 NULL NOT IN Empty_Relation 的查询,我得到了不同的结果。
select count(*) from
(select 1)
where null not in
(a empty relation)
Postgresql 输出 1。其他输出 0。
我理解 NOT IN 的 NULL 行为,但我的子查询是空关系,这种情况似乎更有趣。有很多帖子讨论 NOT IN,但我没有找到任何与 NOT IN Empty_Relation 相关的内容。
所以我的问题更像是 ANSI SQL 是否定义了这种行为,或者这实际上是一个灰色区域,两个答案都可以接受。