前回の続き
今回から、レコードの削除を行う、DELETE文を紹介します。
DELETE
ここまで、SELECT文やUPDATE文をやってきましたが、これらの内容が抑えられていればそんなに難しいものではありません。
DELETE文はこんな感じに書きます。
DELETE FROM [テーブル名]
これだけで、テーブル内のデータを全削除できます。
レコード単位に削除するので、カラム名は関係ないため指定しません。
しかし、削除したいデータというのは、常に条件指定があるものです。
WHERE句の利用
WHERE句を用いると、レコードを抽出して削除することができます。
例えば、Person.Person_CopyテーブルのPersonTypeがEMのレコードだけ削除してみます。
DELETE Person.Person_Copy WHERE PersonType = 'EM'
結果はこんな感じです。
273件のみ削除できました。
JOINの活用
他のテーブルと結合して、そのカラムのデータによってレコードを抽出して削除することもできます。
ここでは、Person.Person_CopyとPerson.PersonPhoneを内部結合してPhoneNumberの1桁目が「1」のレコードを削除してみます。
こんなかんじでできます。
DELETE PPC FROM Person.Person_Copy PPC INNER JOIN Person.PersonPhone PPP ON PPC.BusinessEntityID = PPP.BusinessEntityID WHERE PhoneNumber LIKE '1%'
UPDATEで結合したときと同じ書き方ですよね。
以上今回はここまで