【SQL】delete where in |条件で特定のデータを削除

SQL

SQLについて知りたい人「DELETE WHERE IN 句を使ってテーブルデータを削除する方法を忘れたので教えてほしい。構文とコピペ可能ですぐに使いまわせるサンプルコードがみたい。」

こんな悩みを解決します。

本記事は、DELETE WHERE IN 句の使い方を解説します。

事前準備

テーブルを作ります

CREATE TABLE test (id INTEGER NOT NULL AUTO_INCREMENT,name VARCHAR(20) NOT NULL, PRIMARY KEY(id));

次にリンゴ、オレンジ、バナナを登録しておきます

INSERT INTO test (name) VALUES('Apple');
INSERT INTO test (name) VALUES('Orange');
INSERT INTO test (name) VALUES('Banana');

準備完了

update where in ..句を使う準備

準備したテーブルの内容は以下の通りです。

+----+--------+
| id | name   |
+----+--------+
|  1 | Apple  |
|  2 | Orange |
|  3 | Banana |
+----+--------+

構文(DELETE WHERE IN)

DELETE FROM [テーブル] WHERE [カラム] IN ([値A],[値B],...);

構文理解のポイントは2つ

 WHERE句内の[カラム]に複数の値([値A],[値B],…)を条件指定できます。
 WHERE句の条件にマッチした全レコードを、[テーブル]から削除します。

DELETE WHERE IN 句でレコードを削除する

+----+--------+
| id | name   |
+----+--------+
|  1 | Apple  |
|  2 | Orange |
|  3 | Banana |
+----+--------+

実際に削除してみましょう。

DELETE FROM test WHERE name IN ('Apple','Banana');

実行結果は以下の通りです。
[実行結果]

+----+--------+
| id | name   |
+----+--------+
|  2 | Orange |
+----+--------+

今回は以上です。

本記事の内容は、実際に手を動かしてみることをオススメします。

コピペで簡単に実行できますのでぜひ試して下さい。