SQLには多くの機能がありますが、データを効率的にフィルタリングするための「IN句」や「NOT IN句」といったクエリがあります。これらの句は何か、どのように使い分けるべきなのでしょうか。本記事ではIN句とNOT IN句の基本的な違いから、具体的な使用例まで詳しく解説します。
目次
IN句とは
IN句は、指定された複数の値のいずれかと一致するデータを抽出するためのSQLのクエリです。
基本構文
基本的な形式は以下のようです。
SELECT * FROM table_name WHERE column_name IN (value1, value2, ...);
使用例
例として、以下のような商品テーブル(products)があるとします。
ID | 商品名 | カテゴリ |
---|---|---|
1 | りんご | 果物 |
2 | バナナ | 果物 |
3 | 牛乳 | 飲料 |
IN句を使って「果物」カテゴリの商品だけを抽出するSQLは以下のようになります。
SELECT * FROM products WHERE カテゴリ IN ('果物');
NOT IN句とは
NOT IN句は、指定された複数の値のいずれとも一致しないデータを抽出するためのSQLのクエリです。
基本構文
基本的な形式は以下のようです。
SELECT * FROM table_name WHERE column_name NOT IN (value1, value2, ...);
使用例
先程の商品テーブルを使って、「果物」カテゴリ以外の商品を抽出するSQLは以下のようになります。
SELECT * FROM products WHERE カテゴリ NOT IN ('果物');
IN句とNOT IN句の違い
適用ケース
IN句は「一致するものを探す」場合に、NOT IN句は「一致しないものを探す」場合に使用します。
読みやすさと効率
IN句とNOT IN句を使うことで、複数のOR条件やAND条件を並べるよりも読みやすく、効率的なクエリを作成できます。
まとめ
IN句とNOT IN句はSQLで頻繁に使用される便利な機能です。適用ケースや基本構文を理解して、効率的なデータ操作を行いましょう。
created by Rinker
¥4,554
(2024/11/23 11:00:41時点 Amazon調べ-詳細)
コメント