Как видно из документации УДАЛИТЬ , он может принимать два предложения FROM
.
Первое FROM
:
ОТ: Необязательное ключевое слово, которое можно использовать между ключевым словом DELETE и целевым именем table_or_view_name или rowset_function_limited.
Второй FROM
:
FROM <table_source>
: указываетдополнительное предложение ОТ.Это расширение Transact-SQL для DELETE позволяет указывать данные и удалять соответствующие строки из таблицы в первом предложении FROM.
Это расширение, задающее соединение, может использоваться вместо подзапроса в предложении WHERE дляидентифицировать строки, которые нужно удалить.
Итак, SQL удалит записи из таблицы Products
, имеющие соответствующий элемент, когда он объединен с #common
.
Этоэквивалент (по смыслу) следующему запросу:
delete from [GearsDev].[dbo].[Products]
where ItemNumber in
(
select item from #common
)