SQLのLIKE句とは?曖昧検索をするためのLIKE句の使い方
LIKE句は、主に曖昧検索をするときに使います。
本記事では、LIKE句とは何かといったところからLIKE句を使った様々な具体的な検索方法について解説します。
1.LIKE句とは
LIKE句は、主に曖昧検索を行う場合に使用するクエリです。SQLでLIKE句を使用すると、対象のカラムに対して文字列検索をかけることが出来ます。検索条件にワイルドカードを用いることで、○○を含む文字列を検索するというような処理が可能となります。
[補足] ワイルドカードとは
ワイルドカードとは、任意の文字列を指定するときに使う「%」や「_」などの特殊文字のことです。
「%」と「_」それぞれの意味は次の通りとなります。
「%」・・・0文字以上の任意の文字列
「_」・・・任意の1文字
2.LIKE句を使った様々な検索方法
それでは実際にLIKE句を使った様々な検索方法について見ていきましょう。
2-1.前方一致検索
前方一致検索をする場合は、ワイルドカードを検索条件の最後に付けます。
例)usersテーブル内のuserカラムに入っているデータから「山○○」のようなデータを全て取得する場合
SELECT user FROM users WHERE user LIKE "山%";
2-2.後方一致検索
後方一致検索をする場合は、ワイルドカードを検索条件の最初に付けます。
例)usersテーブル内のuserカラムに入っているデータから「○○山」のようなデータを全て取得する場合
SELECT user FROM users WHERE user LIKE "%山";
2-3.部分一致検索
部分一致検索をする場合は、ワイルドカードを検索条件の前後に付けます。
例)usersテーブル内のuserカラムに入っているデータから「○○山○○」のようなデータを全て取得する場合
SELECT user FROM users WHERE user LIKE "%山%";
2-4.完全一致検索
完全一致検索をする場合は、ワイルドカードは検索条件に付けません。
例)usersテーブル内のuserカラムに入っているデータから「山」というデータを全て取得する場合
SELECT user FROM users WHERE user LIKE "山";
2-5.NOT LIKE(LIKEの否定形)
NOT LIKE句を使用することで、指定した文字列を含まないデータを取得することが出来ます。
例)usersテーブル内のuserカラムに入っているデータから「山」という文字列を含まないデータを全て取得する場合
SELECT user FROM users WHERE user NOT LIKE "%山%";
3.まとめ
以上、LIKE句とは何か、また、LIKE句を使った様々な検索方法について解説してきました。
特定の文字列を含む(あるいは含まない)データを検索する場合は是非使ってみてください。
コメント