title: MySQL SELECT x FROM a WHERE NOT IN ( SELECT x FROM b ) - Unexpected result
body: <p>I expect the result of the third query below to contain id=732. It doesn't. Why is that?</p>
  
  <pre>
  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)
  </pre>
  
  <p>There are three NULL entries in table email.id, and no NULL entries in match.id.</p>
  
  <p>The full table / queries can be seen at <a href="http://pastebin.ca/1462094" rel="noreferrer"><a href="http://pastebin.ca/1462094" rel="noreferrer">http://pastebin.ca/1462094</a></a></p>