取り出す・絞り込む

INPUT · スライド

ふくむ言葉でさがす

01 / 04

ぴったりの名前が分からない

= は名前が完全に同じものしか当てられない。あおぞらパン と1字1句そろえないと見つからないんだ。

でも探しものはたいてい「パンっていう字が入ってたはず」くらいのあいまいさ。それを書けるのが LIKE だよ。

02 / 04

LIKEと`%`

= の代わりに LIKE と書き、値の中に % をまぜる。% は「ここになにが入っていてもいい」という意味だよ。

'%パン%' は「前になにかあって、パンがあって、うしろにもなにかある」——つまりパンをふくむという条件になる。

SELECT * FROM shops  WHERE name LIKE '%パン%';

実行結果

1 | あおぞらパン | パン | 1 | 4
3 | ゆうやけパン工房 | パン | 1 | 6

03 / 04

`%` は0文字でもいい

% が受け持つのは「0文字以上のなにか」。だからなにも無くてもいいんだ。

'%パン%'あおぞらパン(うしろが0文字)にも当たっている。この性質があるから「ふくむ」がきれいに書けるんだよ。

SELECT name FROM shops  WHERE name LIKE '%書房%';

実行結果

こみち書房
ひなた書房

04 / 04

どのカラムにも使える

LIKE は文字が入っているカラムならどれでも使える。名前でも種類でも同じだよ。

検索まどに入れた言葉でデータを探す機能は、こういうクエリで作られている。ここから書いてみよう。

SELECT name, kind FROM shops  WHERE kind LIKE '%ん%';

実行結果

あおぞらパン | パン
こみち書房 | ほん
ゆうやけパン工房 | パン
ひなた書房 | ほん