SQLのIN句はじめに
SQLでは、条件に合致する「イコール」だけでなくIN句でのリストに合致するレコードの抽出が可能です。
そちらを実行できる、LIKE句とIN句について解説いたします。
IN句について
IN句の基本構文と使用例
SQLのIN句は、特定の値のリストに対する検索条件を指定するための構文です。この構文を使用すると、複数の値を含む列の結果をフィルタリングすることができます。
IN句は次のような形式で使用されます。
SELECT 列名
FROM テーブル名
WHERE 列名 IN (値1, 値2, 値3, ...)
列名
は検索したい列の名前です。テーブル名
は検索対象のテーブルの名前です。値1
,値2
,値3
などは、検索条件として指定したい値のリストです。
IN句は、指定された値のいずれかが列に含まれている行を返します。
例えば、以下のクエリは、顧客が特定の国に住んでいる場合にその顧客の名前を返します。
SELECT name
FROM customers
WHERE country IN ('USA', 'Canada', 'Mexico')
このクエリでは、’USA’、’Canada’、’Mexico’ のいずれかに住んでいる顧客の名前を取得します。
NOT IN句でのIN句とは逆の指定方法
NOT IN句は、IN句とは逆の条件を指定するための構文です。NOT IN句は、指定された値のいずれとも一致しない行を返します。
基本構文はIN句と同様であり、例えば以下のクエリは特定の国に住んでいない顧客の名前を返します。
SELECT name
FROM customers
WHERE country NOT IN ('USA', 'Canada', 'Mexico')
このクエリでは、’USA’、’Canada’、’Mexico’ のいずれにも住んでいない顧客の名前を取得します。
「プログラムの環境構築からわからない、、」「データサイエンティストになるには?」など自己学習に不安がありましたら、以下のスクールのご活用をご検討ください!
あいまい検索ができるLIKE句について
LIKE句はパターンマッチングを行うために使用されます。文字列の一部に特定のパターンが含まれているかどうかを検索するために使用されます。
LIKE句では、次のワイルドカード文字を使用することができます。
- %:0文字以上の任意の文字列を表します。
_
:任意の1文字を表します。
LIKE句の使用例
例1: 文字列の末尾が指定の文字列で終わる場合にマッチします。
SELECT *
FROM テーブル名
WHERE 列名 LIKE '%パターン'
例2: 文字列の先頭が指定の文字列で始まる場合にマッチします。
SELECT *
FROM テーブル名
WHERE 列名 LIKE 'パターン%'
例3: 文字列の中に指定の文字列が含まれる場合にマッチします。
SELECT *
FROM テーブル名
WHERE 列名 LIKE '%パターン%'
例4: 文字列の中に任意の1文字が存在する場合にマッチします。
SELECT *
FROM テーブル名
WHERE 列名 LIKE 'パタ_ン'
SQL参考文献
SQL学び始めの時はこちらの本を参考にしていました。
DBやテーブルの構造から、よく使う関数などがまとめられています。基礎を身につけたい方におススメかと思います。
SQL文法関連記事
そのほか、SQL関連記事をこちらにまとめておりますのでご参考ください。
> Coffee Tech Blog SQL関連記事
もしIT業界への転職でお困りでしたら、下記サービスのご活用をご検討ください!
私は転職の際にGeeklyを活用させて頂き、ご縁を頂くことができました。
SQLのIN句まとめ
以上のように、IN句ではリストに合致するレコードの抽出ができます。また、NOT IN句ではINとは逆のリストに合致しないレコードの検索ができます。
さらに、LIKE句ではあいまい検索によるデータ抽出を行うことができます。
要件に合わせて活用してみてください。
参考になれば幸いです☕
コメント