20190504追記
- わかりにくい表現を修正しました。
SQLでLIKE
句を使用すると、対象の列(カラム)に対して文字列検索を行うことができます。
##完全一致
SELECT 列名 FROM テーブル名 WHERE 列名 LIKE '検索文字';
LIKE '検索文字'
で、文字列検索を行うことができます。
この場合は、検索文字
に完全に一致した場合のみ、結果として表示されます。
検索文字
を含む場合を検索したい、というような場合はワイルドカードを使用します。
##ワイルドカード検索(部分一致)
ワイルドカードを使用して部分一致検索を行うことができます。
ワイルドカード文字 | 意味 |
---|---|
% | 0文字以上の任意の文字列 |
_ | 任意の1文字 |
例 以下のProductテーブルがあるとします。
id | name | price |
---|---|---|
1 | 本A | 1000 |
2 | 本B | 1200 |
3 | 本AB | 1200 |
SELECT * FROM WHERE name LIKE '%A';
/*
本Aのレコードがヒット
________________
id |name |price
1 |本A |1000
________________
*/
SELECT * FROM WHERE name LIKE '本%';
/*
本A、本B、本ABのレコードがヒット
________________
id |name |price
1 |本A |1000
2 |本B |1200
3 |本AB |1200
________________
*/
SELECT * FROM WHERE name LIKE '本_';
/*
本Aと本Bのレコードがヒット
________________
id |name |price
1 |本A |1000
2 |本B |1200
________________
*/