【SQL】LIKE演算子を使った部分一致検索

SQL(Structured Query Language)は、データベース管理システムで広く使用される言語であり、データの操作や検索に用いられます。SQLには様々な機能がありますが、今回はその中でも特に便利なLIKE演算子に焦点を当てます。

LIKE演算子の概要

LIKE演算子は、特定のパターンに一致する文字列を検索するために使用されます。パターンにはワイルドカード文字が含まれ、そのパターンに一致する文字列を持つデータを取得することができます。

基本的な使い方

この演算子を使った基本的な使い方について説明します。例を用いて、実際の検索クエリの書き方を解説します。

例えば、”employees”というテーブルがあるとします。このテーブルには、”name”という列があります。この列には、従業員の名前が格納されています。

次のクエリは、名前が「John」で始まる従業員のレコードを取得します。

SELECT * FROM employees
WHERE name LIKE 'John%';

また、名前が「Smith」で終わる従業員のレコードを取得するには、次のようにクエリを書きます。

SELECT * FROM employees
WHERE name LIKE '%Smith';

“%”は、0文字以上の任意の文字列にマッチします。

さらに、名前に「th」が含まれる従業員のレコードを取得するには、次のようにクエリを書きます。

SELECT * FROM employees
WHERE name LIKE '%th%';

ここでは、ワイルドカード文字 “%” が文字列 “th” の前後に追加されており、その間に任意の文字列があることを示しています。

もう1つのワイルドカード文字 “_”(アンダースコア)は、1文字の任意の文字列にマッチします。たとえば、名前が3文字で始まり、その後に”ohn”が続く従業員のレコードを取得するには、次のようにクエリを書きます。

SELECT * FROM employees
WHERE name LIKE '___ohn%';

ここでは、アンダースコア “_” が3つあり、それぞれ1文字の任意の文字列にマッチすることを示しています。

まとめ

LIKE演算子を使うことで、データベース内で特定のパターンに一致する文字列を効果的に検索することができます。この記事を参考にして、SQLの検索クエリをより効率的に実行しましょう。