2013-09-29 88 views

回答

1

而不是使用=的,将其更改为IN,由于子查询可以返回多个行。

DELETE FROM debts WHERE name IN (SELECT name FROM payers) 

但我更喜欢JOIN的表比使用IN

DELETE a 
FROM debts a 
     INNER JOIN payers b 
      ON a.name = b.name 
+0

请您提供一些解释吗?它是准备好查询还是a,b只是占位符? –

+0

@Ultra'a'和'b'是表的别名。所以不用编写完整的表名,您可以使用别名。 –

+0

如何删除所有,但不是从付款人选择? –