【MySQL】指定したカラムにリストと一致する値があるかを調べるIN演算子

そこまで使用頻度が高いわけではないのですが、知っていると便利なのが、今回取り上げる IN演算子。
MySQLのWHEREでデータを抽出する際に、カラムのデータがリストの値のどれかと一致するかを調べられます。
便利なのにたまにしか使わず、そのため毎回構文を忘れて調べているのでまとめ。

 

サンプルコードはこちら。

SELECT * FROM [テーブル名] WHERE [カラム名] IN ([値1],[値2],[値3],…);

通常だと、WHERE [カラム名] = [値1] OR [カラム名] = [値2] … と書きますが、IN演算子を使うと、比較したい値をリストにまとめることができます。
で、このリストの値のどれかと一致したカラムを抽出してくれます。

また、NOT IN と書くこともでき、その場合はリストの中の値のどれとも一致していないデータを抽出してくれます。

 

ということで、MySQLのIN演算子でした。
抽出条件を AND でつなげて書くのって結構面倒だったりするので、同じカラムだったらまとめられていいですね。
また、この書き方なら条件の指定もれも減りそうです。
SQL文は、初心者は苦手意識を持たれる方も多そうですが、是非こういったものを便利に使ってください。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG