SQL服务器:
区别:
Delete tblxyz where id=6
和:
Delete from tblxyz where id=6
以上查询之间是否存在差异?
答案 0 :(得分:5)
答案 1 :(得分:4)
这两个陈述之间没有直接的区别 (除了我发现“DELETE FROM”更容易阅读和理解)
请注意,ANSI确实需要jarlh
所述的“FROM”关键字答案 2 :(得分:0)
根据MSDN,"来自"是可选的。默认情况下不使用:
FROM
和目标table_or_view_name,或rowset_function_limited.An可在DELETE关键字之间使用的可选关键字
但是在MS Access(或可能是某些其他数据库)中,您可以使用delete *
命令删除一行,因此您必须使用来自:
delete * from phoneBook where....
答案 3 :(得分:0)
您的删除没有区别。
但是,FROM
子句是一个功能齐全的from子句,因此您可以将其与JOIN
一起使用。例如:
delete t
from t join
(select min(id) as minid
from t
group by grp
) tt
on t.id = tt.minid;
这将删除每个grp
值的最小ID的记录。需要delete
之后的别名来指定要删除的表(尽管在这种情况下,不允许从聚合结果中删除)。
注意:此查询仅用于说明目的。查询没有任何问题,但实际上并不是我在SQL Server中编写这样的查询的方式。
答案 4 :(得分:0)
from子句是可选的.Below是精简版的Syntax ..
DELETE
[TOP(表达)[PERCENT]]
[FROM]
{{table_alias
这 可在DELETE关键字与目标table_or_view_name或rowset_function_limited之间使用的可选关键字。