我对(My)SQL 查询有一些问题。在我的数据库中,我有两个表。一个叫kfz_typen,另一个叫kfz_temp2。我需要获取 kfz_temp2 表的所有条目,其中 ktyp(只是一个整数字段)不在 kfz_typen 表中。
SELECT * FROM kfz_temp2
WHERE kfz_temp2.KType NOT IN (SELECT DISTINCT kfz_typen.ktyp FROM kfz_typen)
在我看来,上面的这个查询应该完全符合我的要求。但事实并非如此!我只是从我的 MySQL 服务器得到一个空的结果。
如果查询中没有“NOT”,我会得到两个表中的条目,因此匹配确实有效。
那么上面的查询有什么问题呢?