为什么我不能在DELETE语句中使用别名?
在Visual Studio 2010中的SQL Server Compact Edition(也许一般是SQL Server和SQL,我不知道),这个命令的工作原理:
DELETE FROM foods WHERE (name IN ('chickens', 'rabbits'))  但是这个命令会产生一个错误: Error near identifier f. Expecting OUTPUT. Error near identifier f. Expecting OUTPUT. 
 DELETE FROM foods f WHERE (f.name IN ('chickens', 'rabbits')) 
	
为了别名表,你必须说:
 DELETE f FROM dbo.foods AS f WHERE f.name IN (...); 
 我没有看到这个特定的DELETE语句的别名,特别是(至lessIIRC),这不再符合严格的ANSI。 但是,是的,正如评论所说,其他查询forms(如相关性)可能是必要的。 
删除语句有奇怪的语法。 它是这样的:
 DELETE f FROM foods f WHERE (f.name IN ('chickens', 'rabbits'))