Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/76.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 不平等<&燃气轮机;查询排除空值_Mysql_Sql_Null - Fatal编程技术网

Mysql 不平等<&燃气轮机;查询排除空值

Mysql 不平等<&燃气轮机;查询排除空值,mysql,sql,null,Mysql,Sql,Null,我有一些SQL查询的问题,我无法理解 SELECT * FROM MasterList WHERE Requested <> "Yes"; 从主列表中选择*请求“是”; 如果在我的表上运行上述查询,将返回60条记录。但是应该有接近300个。我认为问题在于,一些记录在请求的字段中是空白的,而另一些是空的。但我原以为空值仍然不等于“是”,不是吗?如果没有,是否有一种不必返回并“清空”所有空字段的方法?这是因为null“Yes”表达式的计算结果为null,因此您应该添加一个单独的is

我有一些SQL查询的问题,我无法理解

SELECT * FROM MasterList WHERE Requested <> "Yes";
从主列表中选择*请求“是”;

如果在我的表上运行上述查询,将返回60条记录。但是应该有接近300个。我认为问题在于,一些记录在请求的字段中是空白的,而另一些是空的。但我原以为空值仍然不等于“是”,不是吗?如果没有,是否有一种不必返回并“清空”所有空字段的方法?

这是因为
null“Yes”
表达式的计算结果为
null
,因此您应该添加一个单独的
is null
检查,以在结果集中包含满足此条件的记录:

select * from MasterList where Requested <> "Yes" or Requested is null
从主列表中选择*,其中请求的“是”或请求为空

注意:
null
与任何东西的比较,即使是
null
本身,总是返回
null

比较中不计算null值,如果希望返回
null
值,则需要执行以下查询:

SELECT * FROM MasterList WHERE Requested <> "Yes" OR Requested IS NULL;
从主列表中选择*,其中请求的“是”或请求为空;

空安全相等。此运算符执行与=运算符类似的相等比较,但如果两个操作数都为NULL,则返回1而不是NULL;如果一个操作数为NULL,则返回0而不是NULL

mysql> SELECT 1 <=> 1, NULL <=> NULL, 1 <=> NULL;  
    -> 1, 1, 0   
mysql> SELECT 1 = 1, NULL = NULL, 1 = NULL;   
    -> 1, NULL, NULL  
mysql>选择11,空,1空;
-> 1, 1, 0   
mysql>选择1=1,NULL=NULL,1=NULL;
->1,空,空
在您的情况下,请使用:

SELECT * FROM MasterList WHERE not Requested <=> "Yes"
从未请求“是”的主列表中选择*

谢谢。我可以以一种解释NULL的方式构建查询。