当前位置: 首页 > 面试题库 >

SQL查询以一个值为基础排除项目

唐兴贤
2023-03-14
问题内容

我正在从一个表中提取项目列表,基于它们被包含在另一个表中,如下所示:

select fruit.id, fruit.name from fruit, fruit_rating where fruit_rating.fruit_id=fruit.id group by fruit.name;

效果很好-基本上会列出某人已评分的所有水果的列表。但是现在,我想排除所有已由一个特定用户评级的水果,因此我尝试了以下操作:

select fruit.id, fruit.name from fruit, fruit_rating where fruit_rating.fruit_id=fruit.id and fruit_rating.user_id != 10 group by fruit.name;

可以,但是不太正确。它显示了除10以外其他人已评级的所有水果,但是如果用户1和10都对同一水果进行了评级,则仍显示该水果。谁能告诉我如何构造一个查询,该查询仅显示未由用户10评分的水果,而不管其他人对其评分如何?


问题答案:
... WHERE fruit_rating.fruit_id=fruit.id 
      and fruit.id not in 
          (select fruit_rating.fruit_id 
             from fruit_rating 
            where fruit_rating.user_id = 10)


 类似资料:
  • 问题内容: 是否可以在单个SQL语句中执行以下操作: 例如,在提示中使用电话号码的子集。然后查询其中包含电话号码的数据库,并返回原始子集中哪些电话号码不在我的数据库中?我的数据库是Oracle 10g。 基本上,我不想知道哪个电话号码不在数据库中,而是要取回它们之间的电话号码。 问题答案: 假设电话号码是NUMBER,则可以生成特定范围内的所有电话号码的列表 然后,您可以将该范围内所有电话号码的列

  • 我想不出如何将这个查询转换为delete-statment。 从购物车中选择DISTINCT carts.id,Shows.Date 内部连接tickets.cart=carts.id上的票证 内部连接actseats.ticket=tickets.id上的actseats 内部连接对actseats.showact=showacts.id显示作用 内部联接显示在shows.id=showacts

  • 学习如何使用集成语言查询(Language Integrate Query,LINQ)从数据库中加载实体。 提示 你可以在 GitHub 上查阅当前文章涉及的代码样例。 101 个 LINQ 样例 该页面展示了一些样例以使用 Entity Framework Core 来完成普通的任务。关于 LINQ 所能做的更多事情,请查阅 101 个 LINQ 样例 加载所有数据 using (var con

  • 问题内容: 我有2个查询,如下所示: 第二个: 我如何在这两者之间划分计数?它将始终仅返回2个值,一个将称为Exp,而一个将称为NonExp。 谢谢 问题答案: 基本上将这两个查询视为子查询,如下所示。 如果您想更进一步,则可以将cvu.id作为选择和修改联接的一部分,以便可以在所有cvu.id的

  • 问题内容: 我正在做一个概率计算。我有一个查询来计算事件发生的总数。从这些事件中,我想获得子事件发生的次数。查询以获取事件总数为25行,我不想复制并粘贴两次。 我想对该查询做两件事:计算其中的行数,并计算此查询的查询结果中的行数。现在,我能想到的唯一方法是(用复杂的查询替换@ total @来获取所有行,并用不那么复杂的条件替换@ conditions @,而来自@ total @的行必须匹配子事

  • 问题内容: 要求:生成一个查询,该查询根据用户输入的StartDate,EndDate和Upper Data Threshold输入基于电话号码的数据。 这些输入变量是查询的界限。因此,SELECT语句相应地写在下面。 唯一需要注意的是,如果某个电话号码的单个记录超过了“上限数据阈值”,那么与该违规电话号码相关联的所有电话号码记录都不应输出,无论该相同电话号码的其他记录是否违反该记录。数据阈值。以