使用 NOT IN 检查另一个表中是否存在 ID 不起作用 - MySQL



我想检查一个表的某些ID是否在另一个表中不存在

这是我 http://sqlfiddle.com/#!9/f5705b/1 的完整架构和MySQL查询

我正在使用的查询是

SELECT * from _ayub WHERE a_id NOT IN(SELECT u_id FROM `_umair`)

假设我在_ayub33866326,但它不是_umair而是没有显示在最终查询结果中

您需要

处理NULLs

SELECT * 
FROM _ayub 
WHERE a_id NOT IN(SELECT u_id FROM `_umair` WHERE u_id IS NOT NULL)
-- or
SELECT * 
FROM _ayub 
WHERE a_id NOT IN(SELECT COALESCE(u_id,-1) FROM `_umair`)

SQLFiddle demo

相关:来自 NOT IN 子查询的奇怪结果

相关内容

最新更新