首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >获取不在表中的记录(MySQL)

问获取不在表中的记录(MySQL)
EN

Stack Overflow用户
提问于 2014-04-16 02:17:37
回答 1查看 31关注 0票数 0

我有三张桌子:会员、会议和Member_Meeting。名字本身就应该泄露它们所包含的内容。会员为注册会员,会议为过去和将来的会议,Member_Meeting为已经或将要出席会议的成员。我可以使用内部联接来获取两个表中的数据,左联接可以在两个表中都获取数据,但也可以使用右边联接获取数据,但也可以在右边和(完全)外部联接中获取数据,以从右和左获得数据。然而,我需要的是只存在于成员中而不存在于Member_Meeting中的数据。换句话说,我需要让所有存在但从未参加过会议的成员参加会议,因此在Member_Meeting中没有记录。我所需要的有点像左连接或右连接,但没有表的共同点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-16 02:23:27

这样做有两种方法。第一种方法是使用NOT IN()执行子查询

代码语言:javascript
复制
SELECT * FROM Member WHERE ID NOT IN(SELECT DISTINCT MemebrID FROM Member_Meeting)

另一个选项是执行一个LEFT JOIN,然后对空值进行筛选。

代码语言:javascript
复制
SELECT Member.* FROM Member
LEFT JOIN Member_Meeting ON Member.ID = Member_Meeting.MemberID
WHERE Member_Meeting.MemberID IS NULL
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23097844

复制
相关文章

相似问题

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