mysql:当条件为on的列具有空值时,选择查询
这是我的示例表:mysql:当条件为on的列具有空值时,选择查询,mysql,null,conditional-statements,Mysql,Null,Conditional Statements,这是我的示例表: CREATE TABLE test( name VARCHAR(35), age INT(3)) 还有一些价值观: insert into test values ('alex', 13); insert into test values ('dan', 17); insert into test (name) values ('pete'); insert into test (name) values ('david'); 当我在“年龄”列上使用带条件的SELECT查询
CREATE TABLE test(
name VARCHAR(35),
age INT(3))
还有一些价值观:
insert into test values ('alex', 13);
insert into test values ('dan', 17);
insert into test (name) values ('pete');
insert into test (name) values ('david');
当我在“年龄”列上使用带条件的SELECT查询时:
select * from test where age!=13;
我得到的结果是:
+------+------+
| name | age |
+------+------+
| dan | 17 |
+------+------+
但我要所有的唱片都随年龄增长=13其中包括年龄为空的记录:
+-------+------+
| name | age |
+-------+------+
| dan | 17 |
| pete | NULL |
| david | NULL |
+-------+------+
我怎样才能得到我想要的?谢谢您的回复。试试这个
select * from test where age !=13 or age is NULL;
请记住,NULL实际上不是一个值,而是更像一个状态
NULL=NULL
始终为false,因为NULL!=空
。无论您如何使用NULL
都将始终为false。所以当它计算age!=13
至NULL!=13
,预期的行为是不显示行。您是否给出了新的答案或只是重复了我的答案?你是抄袭过去的医生吗?@echo\u Me你通过抄袭粘贴我的答案更新了你的答案。你也是复印粘贴方面的医生吗?我没有复印粘贴我把=
改成是。
SELECT * FROM test WHERE age!=13 OR age IS NULL;