列 A の値が 1 もしくは 10 もしくは 12 のいずれかに一致するレコードといった、特定の列の値が特定のいずれかの値に一致する行のみに絞り込む方法を学びます。
特定の列について、特徴的な値を持つレコードだけに絞り込みたい場合に有用です。
例えば、居住国(country)が日本・アメリカ・イタリアのデータのみに絞り込みたい場合などです。
SELECT * FROM <テーブル名> WHERE 列名 IN (値1, 値2, 値3, ..., 値n);
特定の列の値が特定のいずれかの値に一致する行のみに絞り込みたい場合、IN (複数の値をカンマで区切ったもの)
を使います。
例えば、居住国ID(country_id) が 100 もしくは 200 もしくは 300 のデータに絞り込みたい場合、WHERE country_id IN (100, 200, 300)
となります。
IN のあとに指定する括弧は必ず必要です。
SELECT * FROM products WHERE id IN (2, 3);
試しに、SELECT 文で products テーブルでINを使ってみましょう!
次のSQLを実行すると、price が 2000 もしくは 4000 のデータだけに絞り込めます。