gpt4 book ai didi

sql - Oracle sql 查询中使用 "Join"删除

转载 作者:行者123 更新时间:2023-12-03 06:57:59 24 4
gpt4 key购买 nike

我不太熟悉 Oracle Sql 查询,因此我面临着从表中删除某些行的问题,这些行必须满足包含另一个(连接)表的字段的约束。换句话说,我想编写一个查询来删除包括 JOIN 在内的行。

就我而言,我有一个表 ProductFilters 和另一个表 Products,它们在字段 ProductFilters.productID = Products.ID 上连接。我想从 ProductFilters 中删除 ID 大于或等于 200 的行,并且它们引用的产品的名称为“Mark”(名称是产品中的一个字段)。

我希望首先被告知 JOIN 在 Oracle 的删除查询中是否可以接受。如果不是,我应该如何修改此查询才能使其工作,因为在该表单上我收到错误:

DELETE From PRODUCTFILTERS pf 
where pf.id>=200
And pf.rowid in
(
Select rowid from PRODUCTFILTERS
inner join PRODUCTS on PRODUCTFILTERS.PRODUCTID = PRODUCTS.ID
And PRODUCTS.NAME= 'Mark'
);

最佳答案

最近我了解到以下语法:

DELETE (SELECT *
FROM productfilters pf
INNER JOIN product pr
ON pf.productid = pr.id
WHERE pf.id >= 200
AND pr.NAME = 'MARK')

我认为它看起来比其他建议的代码干净得多。

关于sql - Oracle sql 查询中使用 "Join"删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12672082/

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