データベース内に「Department」テーブルがあり、いくつかの行を削除したいと考えています。どうかお聞きしたいです
この SQL 削除コードの結果:
DELETE FROM ITD
FROM Department AS ITD
WHERE ITD.departmentID = 1
これの結果と同じですか:
DELETE FROM Department
WHERE departmentID = 1
両方のコードでテーブル内のエントリが削除されますか?
データベース内に「Department」テーブルがあり、いくつかの行を削除したいと考えています。どうかお聞きしたいです
この SQL 削除コードの結果:
DELETE FROM ITD
FROM Department AS ITD
WHERE ITD.departmentID = 1
これの結果と同じですか:
DELETE FROM Department
WHERE departmentID = 1
両方のコードでテーブル内のエントリが削除されますか?
どちらも同じです。最初の FROM はオプションです。
つまり、データを削除する条件が 2 つのテーブルを使用する場合、データを削除する必要があるテーブルを指定するために、構文 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 リンクを参照してください。