这是我的mysql表,名为 samp
```
+--------+--------+
| name | roleid |
+--------+--------+
| alki | 2 |
| karthi | 3 |
| aadhil | 2 |
| pri | 2 |
| pri | 2 |
+--------+--------+
当我使用查询时 `select name from samp where name not in ('alki','pri',NULL)` 我以为结果是,
+--------+
| name |
+--------+
| karthi |
| aadhil |
+--------+
但我的结果是 `Empty set` . 我还有别的办法。但我需要知道这背后的原因。
4条答案
按热度按时间azpvetkf1#
就是这样
NULL
是为了表现。它无法与任何设计相比。您的查询被解释为:自
name
不等于不等于NULL
不符合条件。wbgh16ku2#
你可以在下面试试
bbuxkriu3#
NULL
表示未知它不是一个值,您需要使用not null
而不是用在NULL
你可以试试这个。qvsjd97n4#
您可以简单地执行以下操作:
select name
from samp
where name not in ('alki', 'pri') or name is null;