首页 > 解决方案 > NOT NULL 本身可以正确输出。添加 NOT NULL、AND 和 OR 输出空值

问题描述

如何将 theNOT NULLANDand结合起来OR

此查询的输出是正确的。它从 rate_spread 列输出非空值:

SELECT action_taken, action_taken_name, applicant_ethnicity, 
       applicant_ethnicity_name, applicant_income_000s, county_name, 
       loan_amount_000s, rate_spread
FROM usa_cfpb_hmda.2007

WHERE rate_spread is NOT NULL
LIMIT 10

在此处输入图像描述

但是,当添加约束时,Not Null 不再起作用。但是OR确实有效。如本例所示:

SELECT action_taken, action_taken_name, 
       applicant_ethnicity, applicant_ethnicity_name, 
       applicant_income_000s, county_name, loan_amount_000s, 
       rate_spread
FROM usa_cfpb_hmda.2007

where rate_spread is NOT NULL
     and action_taken = 1
     OR action_taken = 6

限制 10

在此处输入图像描述

标签: sql

解决方案


您必须优先考虑您的逻辑(即使用括号):

where rate_spread is not null and 
     (action_taken = 1 or action_taken = 6);

推荐阅读