En SQL Server Compact Edition en Visual Studio 2010 (quizás SQL Server y SQL en general, no lo sé), este comando funciona:
DELETE FROM foods WHERE (name IN ('chickens', 'rabbits'))
pero este comando produce un error de: Error near identifier f. Expecting OUTPUT.
DELETE FROM foods f WHERE (f.name IN ('chickens', 'rabbits'))
sql
sql-server
sql-server-ce
Ricardo Altamirano
fuente
fuente

Respuestas:
Para alias de la tabla, tendrías que decir:
No veo el punto de alias para esta
DELETEdeclaración específica , especialmente porque (al menos IIRC) esto ya no se ajusta al estricto ANSI. Pero sí, como sugieren los comentarios, puede ser necesario para otros formularios de consulta (por ejemplo, correlación).fuente
SELECTy otras declaraciones similares, así que instintivamente hice lo que estaba acostumbrado y me preguntaba por qué no funcionó correctamente.inonot inno:DELETE f from dbo.foods as f where not exists (select top 1 1 from animalDiets a where a.AnimalId = f.AnimalId and a.DietId = f.DietId)delete o from Order as o inner join Customer as c on c.CustomerID = o.CustomerID where c.ArchiveOrders = 1La declaración de eliminación tiene una sintaxis extraña. Dice así:
fuente