SQL'选择'查询有3个条件

时间:2012-11-25 14:57:56

标签: sql

SELECT * 
FROM REVIEW 
WHERE REVIEWERID =5 AND APPRAISEECONFIRMYN='Y' AND HRCONFIRMYN = NULL

是否允许2个“AND”条件?我没有得到正确的输出。数据库中有2条记录符合上述条件。当我删除最后一个条件'HRCONFIRMYN = NULL'并执行时,我得到正确的输出。

如何解决这个问题?我需要检查所有3个条件,同时搜索记录。

2 个答案:

答案 0 :(得分:9)

要比较NULL值,您必须使用IS NULL谓词而不是= NULL,如下所示:

SELECT * 
FROM REVIEW 
WHERE REVIEWERID = 5 
  AND APPRAISEECONFIRMYN = 'Y' 
  AND HRCONFIRMYN IS NULL

答案 1 :(得分:2)

  • 使用OR代替
  • 将您的情况分组
  • 与NULL比较时使用IS NULL

查询,

SELECT * 
FROM REVIEW 
WHERE (REVIEWERID =5 AND APPRAISEECONFIRMYN='Y') OR
      HRCONFIRMYN IS NULL