Als TableAID
bestaat niet in TableA
, de query gebruikt de kolom uit TableB
. Daarom is de vraag hetzelfde als:
delete from TableB
where id in (
select TableB.TableAID
from TableA
where GUID = 'fdjkhflafdhf'
)
Dus in wezen doet het:
delete from TableB
where id in (TableAID)
Als u subquery's gebruikt, kunt u het beste uw tabelnamen vermelden bij het verwijzen. Het volgende ZAL gooi een uitzondering:
delete from TableB
where id in (
select TableA.TableAID
from TableA
where TableA.GUID = 'fdjkhflafdhf'
)
Verder zou ik een alias gebruiken zodat we weten naar welke query we verwijzen:
delete from TableB
where id in (
select a.TableAID
from TableA a
where a.GUID = 'fdjkhflafdhf'
)