因此,我有这个相关的子查询,而且我读到,这不是解决此问题的最有效方法。因此,我想将此查询转换为INNER JOIN查询。

DELETE FROM tableA
WHERE EXISTS (
           SELECT fieldA
           FROM tableB
           WHERE tableB.fieldA= tableA.fieldA)


我尝试过这样的事情:

DELETE a
FROM TableA a
INNER JOIN TableB b
ON a.fieldA = b.fieldA


导致Error while executing SQL query on database 'DB': near "a": syntax error

我在此处的所有搜索结果都产生了大致相同的查询(类似于我尝试过的查询)

最佳答案

您发布的内容适用于SQL Server;对于下面的MySQL应该做的工作

DELETE tableA
FROM tableA
INNER JOIN tableB ON tableB.fieldA = tableA.fieldA;

关于mysql - 使用内部联接删除,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45145792/

10-10 11:34