2013-05-20 170 views
-2

我有一個表'部門'內的數據庫,我想刪除一些行。我想問一下,如果不同的SQL刪除聲明

這個SQL的結果刪除代碼:

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

是一樣的這樣的結果:

DELETE FROM Department 
WHERE departmentID = 1 

是否兩個代碼刪除這些條目表?

+2

只是試一試,執行這兩個查詢,看看你得到什麼輸出... bdw都**相同** –

+1

你正在使用哪個RDMS – Luv

回答

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