01 / 06
取り出す・絞り込む
INPUT · スライド
はじまり・おわりでさがす
02 / 06
うしろだけ `%` で「始まる」
'こみち%' は「こみちで始まって、そのあとはなにが来てもいい」。前に % が無いので、頭がぴったり合う必要があるよ。
SELECT name FROM shops WHERE name LIKE 'こみち%';実行結果
こみち書房 こみちカフェ
03 / 06
前だけ `%` で「終わる」
逆に '%書房' は「書房で終わる」。うしろに % が無いので、お尻がぴったり合う必要がある。
同じ 書房 でも、はさむ位置で意味が変わるのが分かるね。
SELECT name FROM shops WHERE name LIKE '%書房';実行結果
こみち書房 ひなた書房
04 / 06
`%` を付け忘れると別の意味になる
気をつけたいのは、% をまったく書かない場合。LIKE 'こみち' は「こみちで始まる」ではなく「ぴったりこみち」という意味になるよ。
これは = とほぼ同じ。「検索したのに1件も出てこない」というときは、まず % を書いたか確かめてみて。
SELECT name FROM shops WHERE name LIKE 'こみち';05 / 06
使い分けの目安
3つの形を並べてみると、ちがいがはっきりするよ。
'こみち%'… 前方一致。名前の頭で探す(名簿や商品コード)'%書房'… 後方一致。おしりで探す(拡張子やドメイン)'%パン%'… 部分一致。どこかにあればいい(ふつうの検索)
迷ったら部分一致でいい。ただし、はさむ範囲が広いほど余計なものも拾いやすくなるよ。
06 / 06
当てはまらないものは `NOT LIKE`
LIKE の前に NOT を足すと、当てはまらない行が返ってくる。「パンをふくまないお店」のような条件だよ。
探す条件と、のぞく条件。どちらも書けるようになると、ほしいデータにまっすぐ近づけるよ。ここから書いてみよう。
SELECT name FROM shops WHERE name NOT LIKE '%パン%';実行結果
こみち書房 みなと花店 ひなた書房 こみちカフェ