U kunt de subquery niet rechtstreeks verwijderen, maar u kunt deze nog steeds gebruiken als u dat wilt. U hoeft deze alleen te gebruiken in een JOIN
:
DELETE usrs
FROM usrs
INNER JOIN (
SELECT * FROM usrs WHERE name = 'john'
) t ON usrs.Id = t.Id
Of u kunt IN
. gebruiken :
DELETE usrs
WHERE ID IN (
SELECT ID
FROM usrs
WHERE name = 'John'
)
Met dit gezegd, voor dit voorbeeld, weet ik niet waarom je een subquery zou willen:
DELETE usrs WHERE name = 'John'
Bewerken op basis van opmerkingen. Om uit meerdere tabellen tegelijk te verwijderen, kunt u ofwel meerdere DELETE
. hebben verklaringen, of u kunt iets als het volgende gebruiken:
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