SQL の基本 | DML: データ操作言語 | LIKE
LIKE は、WHERE 句で使用されるもう 1 つの演算子である。基本的に、LIKE を使用すると、特定のパターン (pattern) に従って必要なデータを検索できる。
LIKE 構文
LIKE 句の構文は次のとおりである。
SELECT "フィールド名"
FROM "テーブル名"
WHERE "フィールド名" LIKE {パターン};
{パターン} にはワイルドカード (wildcard) を含める。次にいくつかの例を示す。
- ‘A_Z’:
Aで始まり、その後に任意の 1 文字が入り、Zで終わる文字列。ABZとA2Zはこのパターンに一致するが、AKKZは A と Z の間に 2 文字あり、1 文字ではないため一致しない。 - ‘ABC%’:
ABCで始まる文字列。たとえば、ABCDとABCABCはこのパターンに一致する。 - ’%XYZ’:
XYZで終わる文字列。たとえば、WXYZとZZXYZはこのパターンに一致する。 - ’%AN%’:
ANを含む文字列。たとえば、LOS ANGELESとSAN FRANCISCOはこのパターンに一致する。
上の最後の例を store_information テーブルに使用する場合を考える。
store_information テーブル
| store_name | sales | txn_date |
|---|---|---|
| Los Angeles | 1500 | Jan-05-2018 |
| San Diego | 250 | Jan-07-2018 |
| San Francisco | 300 | Jan-08-2018 |
| Boston | 700 | Jan-08-2018 |
次のようにコマンドを入力する。
SELECT *
FROM Store_Information
WHERE Store_Name LIKE '%AN%';
結果は次のとおりである。
| store_name | sales | txn_date |
|---|---|---|
| LOS ANGELES | 1500 | Jan-05-2018 |
| SAN DIEGO | 250 | Jan-07-2018 |
| SAN FRANCISCO | 300 | Jan-08-2018 |