Насколько я понимаю, вы бы использовали структуру , такую как , здесь вы ограничиваете, какие строки удалять из первой таблицы на основе результатов запроса from. Но для этого вам нужно иметь корреляцию между ними.
В вашем примере нет корреляции, которая фактически будет типом перекрестного соединения, что означает "для каждой строки в tbl2 удалите каждую строку в tbl1". Другими словами, он удалит каждую строку в первой таблице.
Вот пример:
declare @t1 table(A int, B int)
insert @t1 values (15, 9)
,(30, 10)
,(60, 11)
,(70, 12)
,(80, 13)
,(90, 15)
declare @t2 table(A int, B int)
insert @t2 values (15, 9)
,(30, 10)
,(60, 11)
delete from @t1 from @t2
Результатом является пустой @ t1.
С другой стороны, это удалит только совпадающие строки:
delete from @t1 from @t2 t2 join @t1 t1 on t1.A=t2.A