【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問付き! (スッキリシリーズ)
- 作者: 中山清喬,飯田理恵子,株式会社フレアリンク
- 出版社/メーカー: インプレス
- 発売日: 2018/11/30
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る