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を使いましょうね……。