子查询不使用NULL数据

时间:2017-06-29 07:27:06

标签: postgresql subquery notin postgresql-9.6

今天我在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 不兼容的原因?

0 个答案:

没有答案