Come TableAID
non esiste in TableA
, la query utilizza la colonna di TableB
. Pertanto la query è la stessa di:
delete from TableB
where id in (
select TableB.TableAID
from TableA
where GUID = 'fdjkhflafdhf'
)
Quindi in sostanza sta facendo:
delete from TableB
where id in (TableAID)
Se si utilizzano sottoquery, è meglio menzionare i nomi delle tabelle quando si fa riferimento. Il seguente SARA' lancia un'eccezione:
delete from TableB
where id in (
select TableA.TableAID
from TableA
where TableA.GUID = 'fdjkhflafdhf'
)
Inoltre userei un alias in modo da sapere a quale query ci riferiamo:
delete from TableB
where id in (
select a.TableAID
from TableA a
where a.GUID = 'fdjkhflafdhf'
)