不同的SQL删除语句

时间:2013-05-20 05:50:00

标签: sql sql-delete

我在数据库中有一个表'Department',我想删除一些行。我想问一下

此SQL删除代码的结果:

DELETE FROM ITD
FROM Department AS ITD
WHERE ITD.departmentID = 1

与结果相同:

DELETE FROM Department 
WHERE departmentID = 1

两个代码都会删除表中的条目吗?

1 个答案:

答案 0 :(得分:2)

两者都是一样的。第一个FROM是可选的。

简而言之,如果删除数据的条件涉及使用两个表,我们使用语法1来指定必须从中删除数据的表。

delete from t1
    where exists (
   select t2.some_id
     from t2
    where t2.some_id = t1.some_id );

这可以写成

delete from t1
 from t1, t2
where t1.some_id = t2.some_id;

希望现在很清楚。有关详细信息,请参阅MSDN link