我在数据库中有一个表'Department',我想删除一些行。我想问一下
此SQL删除代码的结果:
DELETE FROM ITD
FROM Department AS ITD
WHERE ITD.departmentID = 1
与结果相同:
DELETE FROM Department
WHERE departmentID = 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