根据其他表删除表

时间:2017-07-18 14:19:06

标签: sql

我有两个表,我想从表A中删除表B中的数据,请问我该怎么做?

3 个答案:

答案 0 :(得分:0)

试试这个

 Delete from TAble A WHERE EXISTS(
    SELECT 1 from TABLE B WHERE B.ID=A.id)

答案 1 :(得分:0)

首先,这个网站不是免费的代码提供者。你必须提供你尝试过的东西,我们会帮助你。

其次,您需要在标记多种SQL语言的问题中明确说明您想要的内容。

要执行此操作,您可以使用以下两种技术: - 相关子查询和内部联接。

相关子查询

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

这适用于SQL SERVER(T-SQL),我也相信MySQL。

INNER JOINS - 我认为最有效

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

再次,适用于SQL Server,我也相信MySQL

您自己的一些进一步研究肯定会为您提供更详细的信息。

答案 2 :(得分:0)

您是否知道可以在DELETE语句中使用JOIN?

delete a
from TableA a
inner join TableB b on (a.id=b.id)