【SQL 入門】LIKEの使い方

LIKEとは?

文字列の部分一致検索を行うときに使います。
「=(イコール)」を使う際には、完全に値が一致しなければなりません。
しかし、LIKEは文字列の一部が一致しているものを探してくれます。

書き方

SELECT
    *
FROM
    table
WHERE
    col LIKE '%sample%'

具体例

では、テーブルと処理内容を用いて説明していきます。

名前 出身地
山田太郎 東京
佐藤花子 京都
鈴木太郎 神奈川
高橋恵子 石川
山田次郎 広島

このように、名前と出身地が格納されたテーブルがありました。
LIKEを用いて、処理をしてみましょう。

後方一致

SELECT
    名前,
    出身地
FROM
    table
WHERE
    名前 LIKE '山田%'

実行結果

名前 出身地
山田太郎 東京
山田次郎 広島

WHEREの部分でLIKEを用いました。
名前列を対象に"山田"の部分一致検索を行いました。
%の部分には、どんな文字列が来ても構いません。

つまり、”山田”から始まる名前を探してきたのです。
このようなパターンを後方一致と言います。

前方一致

SELECT
    名前,
    出身地
FROM
    table
WHERE
    出身地 LIKE '%川'

実行結果

名前 出身地
鈴木太郎 神奈川
高橋恵子 石川

次は、出身地列を対象にLIKEを用いました。
”川”という文字列で終わる行を探してきてくれました。

このように、”川”の前はどんな文字列が来てもよいパターンを前方一致と言います。

中間一致

SELECT
    名前,
    出身地
FROM
    table
WHERE
    出身地 LIKE '%京%'

実行結果

名前 出身地
山田太郎 東京
佐藤花子 京都

"京"というキーワードが含まれる行を抽出しております。
これは、先程までの前方一致と候補一致を組み合わせたパターンですね。
このような方法は中間一致検索と言われます。

参考文献

入門者の方に非常におすすめの本になります。
わかりやすい解説から、練習問題までたくさん用意されているので、
SQLの習得に有用ではないかと思います。

スッキリわかるSQL入門 第2版 ドリル222問付き! (スッキリシリーズ)

スッキリわかるSQL入門 第2版 ドリル222問付き! (スッキリシリーズ)