postgresql – 为什么带有NULL的集合的NOT IN总是返回FALSE / NU
发布时间:2020-12-13 16:23:03 所属栏目:百科 来源:网络整理
导读:我有一个查询(对于Postgres和Informix),带有一个包含子查询的NOT IN子句,在某些情况下返回NULL值,导致该子句(和整个查询)无法返回任何内容. 理解这个的最好方法是什么?我认为NULL是没有值的东西,因此不期望查询失败,但显然这不是想到NULL的正确方法. 布尔逻
我有一个查询(对于Postgres和Informix),带有一个包含子查询的NOT IN子句,在某些情况下返回NULL值,导致该子句(和整个查询)无法返回任何内容.
理解这个的最好方法是什么?我认为NULL是没有值的东西,因此不期望查询失败,但显然这不是想到NULL的正确方法.
布尔逻辑 – 或
Three valued logic
> IN是一系列OR条件的简写 现在,这就是民间使用EXISTS NOT EXISTS而不是IN NOT IN的原因.另请参阅The use of NOT logic in relation to indexes了解更多信息 **注意:在WHERE条件中表达式结尾处的unknown与false相同.在评估表达式时,它是未知的请参阅下面的@ kgrittn的评论 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |