如果 SQL 子查询中包含 null 值的话,那么,MYSQL 会翻译为 not in null。除了 null 以外的所有数据,都满足这一点。所以,就会出现 not in 会 “失效”,那么正确的写法是:
null
not in null
SELECT * FROM A WHERE `name_a` NOT IN ( SELECT `name_b` FROM B WHERE name_b IS NOT NULL )