SQL の基本 | DML: データ操作言語 | LIKE

LIKE は、WHERE 句で使用されるもう 1 つの演算子である。基本的に、LIKE を使用すると、特定のパターン (pattern) に従って必要なデータを検索できる。

LIKE 構文

LIKE 句の構文は次のとおりである。

SELECT "フィールド名"
FROM "テーブル名"
WHERE "フィールド名" LIKE {パターン};

{パターン} にはワイルドカード (wildcard) を含める。次にいくつかの例を示す。

  • ‘A_Z’: A で始まり、その後に任意の 1 文字が入り、Z で終わる文字列。ABZA2Z はこのパターンに一致するが、AKKZ は A と Z の間に 2 文字あり、1 文字ではないため一致しない。
  • ‘ABC%’: ABC で始まる文字列。たとえば、ABCDABCABC はこのパターンに一致する。
  • ’%XYZ’: XYZ で終わる文字列。たとえば、WXYZZZXYZ はこのパターンに一致する。
  • ’%AN%’: AN を含む文字列。たとえば、LOS ANGELESSAN 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