gpt4 book ai didi

SQL 查询至少其中一项

转载 作者:IT老高 更新时间:2023-10-29 00:19:16 24 4
gpt4 key购买 nike

我有一堆用户,每个用户都有很多帖子。架构:

Users: id
Posts: user_id, rating

我如何找到至少有一篇帖子评分高于 10 的所有用户?

我不确定是否应该为此使用子查询,或者是否有更简单的方法。

谢谢!

最佳答案

要查找至少有一篇帖子评分高于 10 的所有用户,请使用:

SELECT u.*
FROM USERS u
WHERE EXISTS(SELECT NULL
FROM POSTS p
WHERE p.user_id = u.id
AND p.rating > 10)

EXISTS 不关心其中的 SELECT 语句 - 您可以用 1/0 替换 NULL,这将导致除以零的数学错误......但它不会,因为 EXISTS 只关心WHERE 子句中的过滤。

相关性(WHERE p.user_id = u.id)就是为什么这被称为相关子查询,除了评级比较之外,它只会返回 ID 值匹配的 USERS 表中的行。

EXISTS 也更快,具体视情况而定,因为它会在满足条件后立即返回 true - 重复项无关紧要。

关于SQL 查询至少其中一项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3197322/

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