LIKE は WHERE 句に使われるもう一つのコマンド。基本的に、 LIKE を使って、あるパタン (pattern) により必要なデータを見つけることができます。逆に言えば、 IN を使う場合、必要な条件がよく分ります; BETWEEN) を使う場合、ある範囲を示すことになります。 LIKE のプログラミングは次のようになります。
SELECT "フィールド名"
FROM "テーブル名"
WHERE "フィールド名" LIKE {パタン}
{パタン}はよくライルドカード (wildcard)を含みます。以下は幾つかの例を挙げます。
- 'A_Z': すべて 'A'を始めとし、続いて何れの一文字を入れ、そして 'Z' で終わる文字列。 'ABZ' 和 'A2Z' はこのパタンに一致しますが、 'AKKZ' はそれに一致しません ( A とZとの間に二文字があり、一文字ではないから)。
- 'ABC%': すべて 'ABC' を始めとする文字列。例えば、 'ABCD' と 'ABCABC' はこのパタンに合います。
- '%XYZ': すべて 'XYZ' で終わる文字列。例えば、 'WXYZ' と 'ZZXYZ' はこのパタンに適合します。
- '%AN%': すべて 'AN'を含む文字列。例えば、 'LOS ANGELES' と 'SAN FRANCISCO' はこのパタンに一致します。
上述の最後の例を Store_Information テーブルに使う場合:
Store_Information テーブル
| store_name |
Sales |
Date |
| LOS ANGELES |
$1500 |
Jan-05-1999 |
| SAN DIEGO |
$250 |
Jan-07-1999 |
| SAN FRANCISCO |
$300 |
Jan-08-1999 |
| BOSTON |
$700 |
Jan-08-1999 |
を入力すると、
SELECT *
FROM Store_Information
WHERE store_name LIKE '%AN%'
の結果ができます。
| store_name |
Sales |
Date |
| LOS ANGELES |
$1500 |
Jan-05-1999 |
| SAN DIEGO |
$250 |
Jan-07-1999 |
| SAN FRANCISCO |
$300 |
Jan-08-1999 |