ワイルドカードを使用してレコードを検索するにはLIKE句を使用します. ワイルドカードを使用することであいまいな文字列検索を行うことができます.
LIKE句の基本構文は以下のようになります.
SELECT 列名1 ,列名2, ...
FROM テーブル名
WHERE 列名 LIKE {ワイルドカード}
LIKE句で使用可能なワイルドカードは以下の通りです.
ワイルドカード | 意味 |
---|---|
% | 0文字以上の任意の文字列 |
_ | 任意の1文字 |
例として以下のテーブル(従業員マスタ)からワイルドカード'%'と'_'を使用してそれぞれ従業員を検出します.
従業員
従業員コード | 従業員名 | 年齢 |
---|---|---|
A0001 | チャーリー・ブラウン | 19 |
A0002 | ルシール・ヴァン・ぺルト | 20 |
A0003 | ライナス・ヴァン・ぺルト | 21 |
B0001 | シュローダー | 29 |
B0002 | ペパーミント・パティ | 30 |
B0003 | マーシー | 31 |
従業員名が 'ヴァン・ぺルト' で終わる従業員を検索します.
SQL
SELECT * FROM 従業員
WHERE 従業員名 LIKE '%ヴァン・ぺルト'
結果
従業員コード | 従業員名 | 年齢 |
---|---|---|
A0002 | ルシール・ヴァン・ぺルト | 20 |
A0003 | ライナス・ヴァン・ぺルト | 21 |
'A000' + 任意の一文字の従業員コードを持つ従業員を検索します.
SQL
SELECT * FROM 従業員
WHERE 従業員コード LIKE 'A000_'
結果
従業員コード | 従業員名 | 年齢 |
---|---|---|
A0001 | チャーリー・ブラウン | 19 |
A0002 | ルシール・ヴァン・ぺルト | 20 |
A0003 | ライナス・ヴァン・ぺルト | 21 |
注意.
サンプルで使用するテーブルは説明のため正規化を行っていなかったり,一般的でない列が含まれている場合があります.ご容赦ください.