LIKE演算子を使用する
WHERE句での文字列条件を”=”で行うと完全一致したものしか検索できませんでした。
しかし、ある文章の中にある文字が含まれているかどうかを検索する場面、つまり部分検索をする場面が多々あります。
そのときは”=”では実現できません。そこで登場するのがこのLIKE演算子です。
以下は、name列が’ta’で始まる行のみを抽出します。
1 2 3 4 5 6 7 8 9 |
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がある場合に一致
/