有人可以在SQL中解释以下行为吗?
SELECT * FROM MyTable WHERE MyColumn != NULL (0 Results)
SELECT * FROM MyTable WHERE MyColumn <> NULL (0 Results)
SELECT * FROM MyTable WHERE MyColumn IS NOT NULL (568 Results)
Run Code Online (Sandbox Code Playgroud) 在此表中,如果我进行以下查询
select * from table where order_id != 1
Run Code Online (Sandbox Code Playgroud)
我想,我应该得到第18行和第19行.但相反,查询不能取任何行.
我可以像这样重写查询
select * from table where (order_id != 1 or order_id is null)
Run Code Online (Sandbox Code Playgroud)
并且它获取预期的数据,但是第一个查询不应该能够获取行18 & 19吗?
我有一个包含以下数据的表:
id | value
1 | 1
2 | NULL
3 | NULL
Run Code Online (Sandbox Code Playgroud)
我的查询:
SELECT * FROM table WHERE value != '1'
Run Code Online (Sandbox Code Playgroud)
结果为空.
为什么查询不返回行2和3?