有两张桌子:
wes - contains 8000 rows, with 2000 distinct masternames (mastername is a column in wes)
wem - contains 2100 rows, with 2100 distinct names (name is a column in wem)我试图得到wem中存在的名字,而不是wes中的母名:
SELECT name FROM wem WHERE name NOT IN (SELECT DISTINCT mastername FROM wes)但出于某种原因,我的查询不返回任何行,即使wem中有大约100个名称在wes中不作为母名存在。
对出了什么问题有什么想法吗?
谢谢!
发布于 2014-12-05 10:29:26
您确定在子选择中没有NULLS吗?
试试SELECT mastername FROM wes WHERE mastername IS NULL
如果存在,则查询将返回0 rwows。
适应:
SELECT NAME FROM wem
WHERE NAME NOT IN (SELECT mastername FROM wes WHERE mastername IS NOT NULL)发布于 2014-12-05 10:34:08
在这种情况下,我通常避免使用NOT IN;请尝试以下查询:
SELECT NAME
FROM wem a
WHERE NOT EXISTS(SELECT 1
FROM wes b
WHERE a.name = b.mastername) https://stackoverflow.com/questions/27313644
复制相似问题