【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 |
+----+--------+

今回は以上です。

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

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

今、ITエンジニアは前例のない売り手市場です

ITエンジニアは前例のない売り手市場、転職なら今

現在のエンジニアの求人数と求人倍率をご存知ですか?

直近(※)のIT業界全体の求人倍率は7.85倍です。

つまり 企業が8回 IT人材の求人を出しても、 1人しかエントリーがない 状況です。

エンジニア側が企業を選ぶ なら、今がチャンスです。

※転職サイトdodaが毎月発表している転職求人倍率。
 2019年12月9日発表/集計対象期間は2019年11月1日〜30日

詳しくはこちら