MySQLで’LIKE’演算子を用いて部分検索(あいまい検索)を行う

LIKE演算子を使用する

WHERE句での文字列条件を”=”で行うと完全一致したものしか検索できませんでした。
しかし、ある文章の中にある文字が含まれているかどうかを検索する場面、つまり部分検索をする場面が多々あります。
そのときは”=”では実現できません。そこで登場するのがこのLIKE演算子です。

以下は、name列が’ta’で始まる行のみを抽出します。

mysql> SELECT * FROM member WHERE name LIKE 'ta%';
+----+--------+------+--------+---------+
| id | name   | age  | weight | address |
+----+--------+------+--------+---------+
|  1 | tanaka |   30 |     57 | 東京  |
|  6 | takai  |   25 |     63 | 千葉  |
|  7 | tadano |   26 |     43 | 千葉  |
+----+--------+------+--------+---------+
3 rows in set (0.00 sec)

LIKE演算子は、上記のように’%’と組み合わせて使い、%の部分がワイルドカードとなて、
なんでもOKということになります。

  • ta% -> taで始まる場合に一致
  • %ta -> taでおある場合に一致
  • %ta% -> どこかにtaがある場合に一致

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>