首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL:选择问题

MySQL:选择问题
EN

Stack Overflow用户
提问于 2014-12-05 10:20:40
回答 2查看 63关注 0票数 4

有两张桌子:

代码语言:javascript
复制
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中的母名:

代码语言:javascript
复制
SELECT name FROM wem WHERE name NOT IN (SELECT DISTINCT mastername FROM wes)

但出于某种原因,我的查询不返回任何行,即使wem中有大约100个名称在wes中不作为母名存在。

对出了什么问题有什么想法吗?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-12-05 10:29:26

您确定在子选择中没有NULLS吗?

试试SELECT mastername FROM wes WHERE mastername IS NULL

如果存在,则查询将返回0 rwows。

适应:

代码语言:javascript
复制
SELECT NAME FROM wem
WHERE NAME NOT IN (SELECT mastername FROM wes WHERE mastername IS NOT NULL)
票数 1
EN

Stack Overflow用户

发布于 2014-12-05 10:34:08

在这种情况下,我通常避免使用NOT IN;请尝试以下查询:

代码语言:javascript
复制
SELECT NAME
FROM   wem a
WHERE  NOT EXISTS(SELECT 1
                  FROM   wes b
                  WHERE  a.name = b.mastername) 
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27313644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档