【MySQL】曖昧な検索LIKE|WHERE句で使える演算子

本記事にはプロモーションが含まれています。

軽くて安いのに大容量!カフェ作業も捗る!プログラミングに最適なPCをお探しなら【おすすめはこちら

データベースの中から例えば「みかん」を探す時は

で探すことができますが、例えば「み」が付く商品を検索する場合はどのようにすれば良いでしょう。

SELECT * で全部のデータを取り出して、自分で探すしかないのかな…

MySQLでは、データベース内の特定の文字列を含むデータを効率的に検索するための便利な方法が提供されています。

その中で特に重要なのが、LIKE演算子の使用です。

この演算子は、文字列のパターンマッチングを行う際に非常に有用です。

▼この記事で使用しているデータベースの作成や内容に関してはこちらの記事をご参照ください

▼youtube

youtube
【知識0からMySQL】データの検索①データベース作成

youtube
【MySQL】データの検索|WHERE句 LIKE 集計関数 AS GROUP BY ORDER BY LIMIT サブクエリ

LIKE演算子の基本

LIKE演算子は、主にWHERE句内で使用されます。これにより、列の値が指定したパターンに一致する行を検索することができます。パターンは、以下の2つの特殊文字を使用して指定されます。

カラム名 LIKE ‘パターン’

パターンを示す記号% _

  • %:0個以上の任意の文字列を表します。
  • _:任意の1文字を表します。

これらの記号を使って、様々な検索パターンを作成することができます。

実践的な使用例

考えられる具体的な使用例をいくつか見てみましょう。以下の例では、myschool_dbデータベースのstudentsテーブルを使用します。

例1: 名前が特定の文字で始まる学生を検索

例えば、名前が「山中」という文字で始まる学生を検索したい場合、以下のようなSQLクエリを使用します。

このクエリでは、「山中」で始まる任意の名前(山中信二など)を持つ学生のレコードを返します。

例2: 特定の文字を含む学生を検索

名前の中に「子」を含む学生を検索するには、以下のクエリを使用します。

このクエリでは、名前のどこかに「子」が含まれている(例: 村上祥子、本田恵子など)全ての学生を検索します。

例3: 名前の特定の位置にある文字による検索

名前の第二文字が「田」である学生を検索する場合、以下のようにします。

このクエリでは、第一文字は何でもよく、第二文字が「田」である名前(例: 本田恵子など)の学生を検索します。

まとめ

LIKE演算子は、パターンマッチングを行う際に非常に強力なツールです。特に、大規模なテキストデータを扱う際に、特定のパターンを持つデータを迅速に見つけ出すのに役立ちます。

例えば顧客のデータベースから「子」が付く人だけを探す、などの際に役に立ちますよ。

タイトルとURLをコピーしました