我有三个表Table1,Table2和Table3以及以下查询删除Table1中的行
delete from Table1
where EXISTS
(select (1) from Table2
where Table1.col1=Table2.col1
AND Table1.col2=Table2.col2
AND Table1.col3=(select **Table3.col3 from Table3** inner join Table2 on Table3.col1=Table2.col1)
这个查询是否正确?如果没有,如何在where where条件下使用第三个表?
编辑:另外,如果我们想从table2中删除自己与table3连接的行,请解释如何重写查询?
1 回答
这是一种方法:
或者使用
EXISTS
可能会更快: