今天我在PostgreSQL查询中看到了一个奇怪的问题。其中我有2个表产品和参数。
目的:
这是非常简单的查询,我只想列出所有不是的产品 在参数表中。
查询:
select
id
from product_proudct
where active=True and
id not in
(
select distinct product_id from parameter_view
)
问题:
如果有空值,它将不会列出任何内容 product_id列中的参数表。我通过添加where子句从参数表中删除空记录来验证。
从parameter_view中选择不同的product_id,其中product_id不为空
然后它工作正常但是如果没有它将无法正常工作,这是真的 对我来说很奇怪。
我想知道子查询与 null 不兼容的原因?