サブクエリから直接削除することはできませんが、必要に応じて引き続き使用できます。JOIN
で使用する必要があります。 :
DELETE usrs
FROM usrs
INNER JOIN (
SELECT * FROM usrs WHERE name = 'john'
) t ON usrs.Id = t.Id
または、IN
を使用することもできます :
DELETE usrs
WHERE ID IN (
SELECT ID
FROM usrs
WHERE name = 'John'
)
そうは言っても、この例では、なぜサブクエリが必要なのかわかりません:
DELETE usrs WHERE name = 'John'
コメントに基づいて編集します。複数のテーブルから同時に削除するには、複数のDELETE
を使用できます。 ステートメント、または次のようなものを使用できます:
delete t1, t2, t3
from (select 'john' as usr) t
left join t1 on t.usr=t1.usr
left join t2 on t.usr=t2.usr
left join t3 on t.usr=t3.usr