如何使用连接从表中删除

问题描述

我试图在加入 MUSEUM 表时从 PAINTING 表中删除。我正在运行的查询给了我一个错误消息“ORA-00933:sql 命令未正确结束”。作为参考,我在下面粘贴了我的查询

DELETE FROM PAINTING
    INNER JOIN MUSEUM ON PAINTING.Museum_Name = MUSEUM.MuseumName
    WHERE MUSEUM.MuCountry = 'France' OR MUSEUM.MuCountry = 'Spain';

解决方法

在 Oracle 中,您将使用相关子查询。

delete from painting p
where exists (
    select 1 from museum m where pm.museum_name = m.museum_name and m.mu_country = 'France'
)