MySQL SELECT x FROM WHERE NOT IN(SELECT x FROM b)-意外的结果 [英] MySQL SELECT x FROM a WHERE NOT IN ( SELECT x FROM b ) - Unexpected result
本文介绍了MySQL SELECT x FROM WHERE NOT IN(SELECT x FROM b)-意外的结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我希望下面第三个查询的结果包含id = 732.没有.为什么会这样?
I expect the result of the third query below to contain id=732. It doesn't. Why is that?
mysql> SELECT id FROM match ORDER BY id DESC LIMIT 5 ;
+------------+
| id |
+------------+
| 732 |
| 730 |
| 655 |
| 458 |
| 456 |
+------------+
5 rows in set (0.00 sec)
mysql> SELECT id FROM email ORDER BY id DESC LIMIT 5 ;
+------------+
| id |
+------------+
| 731 |
| 727 |
| 725 |
| 724 |
| 723 |
+------------+
5 rows in set (0.00 sec)
mysql> SELECT * FROM match WHERE id NOT IN ( SELECT id FROM email ) ;
Empty set (0.00 sec)
表email.id中有三个NULL条目,而match.id中没有NULL条目.
There are three NULL entries in table email.id, and no NULL entries in match.id.
可以在 http://pastebin.ca/1462094
推荐答案
查看全文