Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

SQLのLIKEについて

LIKEはSQLの中でもわりと基本的な句ですが、意外と使う機会が少ないからか地味に使い方を忘れがちなので自分用にまとめておきます。使用するテーブルは以下の通り。

name
鈴木
木村
木山
田村

まずは、部分一致のあいまい検索を実行してみます。
LIKEによるあいまい検索にはワイルドカードを使用します。0文字以上の任意の文字列を指定したい場合は「%」、任意の1文字を指定したい場合は「_」を指定します。
部分一致の場合は、検索したい文字列をワイルドカードで挟みます。

SQL
SELECT name FROM TABLE1 WHERE name LIKE '%木%';

すると、実行結果は以下の通りになります。

name
鈴木
木村
木山

そして、次は前方一致です。
前方一致の場合は、検索したい文字列の後ろにワイルドカードを指定します。

SQL
SELECT name FROM TABLE1 WHERE name LIKE '木%';

実行結果は以下の通りです。

name
木村
木山

今度は後方一致です。
後方一致の場合は、検索したい文字列の前にワイルドカードを指定します。

SQL
SELECT name FROM TABLE1 WHERE name LIKE '%村';

以下が実行結果です。

name
木村
田村

わたしは阿呆なので部分一致検索のときによくワイルドカードを指定するのを忘れます。
みなさんはワイルドカードの存在を忘れることなく正しくLIKEを使いましょうね……。

sheep_LE
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away