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

两个表-如果两个表中都未引用ID,如何删除行

崔高远
2023-03-14
问题内容

我有两个表:

listings(item_id, ...)
images(item_id,  ...)

两个表中的item_id值相同-但我从“清单”表中删除并删除了清单,但没有删除“图像”表中的相应行。

所以-如果IMAGES中的item_id与我的主“列表”表中的任何最新item_id值都不对应,我想删除第二个“图像”表中的所有行。

如何删除“图像”表中未从“列表”中引用的所有记录?

我一直在尝试这样的SQL脚本和子查询:

DELETE FROM images WHERE item_id IN
(SELECT item_id FROM images EXCEPT SELECT item_id FROM listings)

但是,在我将其全部拧紧之前,是否想确认这是否正确?


问题答案:

您应该使用子查询

DELETE FROM images WHERE item_id NOT IN(SELECT item_id FROM listings)

更多示例和解释。



 类似资料:
  • 问题内容: 我们如何从两个ArrayList中删除公共值? 让我们考虑一下我有两个如下所示的Arraylist: 我想得到的结果是: 我该怎么做? 问题答案: 这是您可以用来完成任务的算法: 构造两个数组的并集 构造两个数组的交集 从联合中减去交集即可得到结果 Java集合支持,和。使用构建工会,构建交叉,并作减法,像这样的:

  • 问题内容: 我有两个表,并且如果第二个表中存在行的确切副本,则需要从第一个表中删除行。 有没有人举过我如何在MSSQL Server中执行此操作的示例? 问题答案: 好吧,在某个时候,您将必须检查所有列-可能还需要加入… 应该可以做到……还有,但是这只会有所 帮助 -您仍然需要检查实际值以防止哈希冲突。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

  • 问题内容: 我在MySQL中有两个表 现在,如果我想从邮件表中删除就可以了。但是,当我通过messageid删除消息时,该记录仍然存在于usersmessage上,我必须立即从这两个表中删除。 我使用以下查询: 然后我测试 但是这两个查询并没有完成此任务。 问题答案: 您不能用分号分隔它们吗? 要么 只需如下使用

  • 问题内容: 所以,我有两个实体引用对方,。 如果已删除,则必须将其删除,但在仍有引用的情况下不能删除。 这是我得到的两个约束: 我现在要删除一个(和相应的)… 呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜呜… 是的,我正在尝试删除的血腥条目引用了它… (我知道这是因为上有一个唯一的约束) 看起来如果我将fk设置为,我可以删除该条目,但是这似乎并不是我呼吸的那个家伙想要的,这就是“如果您删除了它,也删除了

  • 问题内容: 我使用此命令在sql-server 2008中删除表 但是现在我在不同的架构中有2个具有相同名称的表: 和 那么,您对检查此表是否存在的建议是什么?如何使用架构检查表名? 更新: 好的,有3个不同的答案,并且所有答案都有效,所以我不知道哪个更好,有人知道使用或吗? 问题答案: 更新: 在相同的同一个表。并且与函数OBJECT_ID返回相同的表名完全相同。请参阅以下说明示例。 因此,您可

  • 我想对两个列表的交集使用Java lambda表达式,然后使用lambda表达式从列表中删除。 我想用lambda表达式,我怎么做?