gpt4 book ai didi

mysql - 选择 subselect 返回多个值的行

转载 作者:行者123 更新时间:2023-12-01 00:35:13 26 4
gpt4 key购买 nike

我有两个表 [Users] 和 [Teams]。我的用户表看起来像这样 [ID][E-Mail]。我的 Teams 表看起来像这样 [Team][UserID]。

我需要像这样做一个子选择:

SELECT * FROM users WHERE 'ID' != (SELECT UserID FROM teams)

问题是 Subselect 返回多个值。所以我不能这样比较。

我想要实现的目标:

我想要来自表[团队]中列出的用户的数据。

例子:

Table [Users]              |  Table[Teams]  |
-------------- ------------------
[ID] [E-Mail] [UserID] [Team]
1 example1@google.com | 1 Football
2 example2@google.com | 1 Basketball
3 example3@google.com | 2 Basketball

如您所见,有 3 个现有用户,但第三个用户未在表 [Teams] 中列出。我想要用户的电子邮件,因为他不在任何这些团队中。

我怎样才能做到这一点?

最佳答案

使用 NOT IN 代替 !=:

SELECT * FROM users WHERE ID NOT IN (SELECT UserID FROM teams WHERE UserID IS NOT NULL)

注意子查询中的 UserID IS NOT NULL... 如果子查询返回一个或多个 NULL 值,NOT IN 将失败。

关于mysql - 选择 subselect 返回多个值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53883546/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com