ホームページ > データベース > mysql チュートリアル > SQL の LIKE 演算子で複数の条件を効率的に使用するにはどうすればよいですか?

SQL の LIKE 演算子で複数の条件を効率的に使用するにはどうすればよいですか?

Susan Sarandon
リリース: 2025-01-08 14:17:42
オリジナル
788 人が閲覧しました

SQL LIKE 演算子を効率的に使用するための複数の条件

SQL の LIKE 演算子は、指定されたパターンを含む文字列を検索するために使用されます。通常、% のようなワイルドカード文字を一致パターンに追加します。ただし、LIKE を使用して複数の条件を導入する場合は、従来の OR 方法が最適な選択ではない可能性があります。

代替: 一時テーブル

LIKE 演算子に複数の条件を導入するより良い方法は、一時テーブルを作成することです。例は次のとおりです:

<code class="language-sql">CREATE TEMPORARY TABLE patterns (
  pattern VARCHAR(20)
);

INSERT INTO patterns VALUES ('ABC%'), ('XYZ%'), ('PQR%');

SELECT t.*
FROM tbl t
JOIN patterns p ON (t.col LIKE p.pattern);</code>
ログイン後にコピー

この例では、複数の一致するパターンを保存するために、pattern という名前の一時テーブルを作成します。次に、必要なスキーマをこのテーブルに挿入します。最後に、tbl テーブルとパターン テーブルの間で JOIN 操作を実行し、パターン列に基づいて一致する行を見つけます。

ユニークマッチ

上記の例では、パターンが一意であり、tbl テーブルの各行が 1 つのパターンのみに一致すると仮定しています。ただし、複数の一致の可能性がある場合は、DISTINCT クエリ修飾子を使用して、一意の結果を保証できます。

<code class="language-sql">SELECT DISTINCT t.*
FROM tbl t
JOIN patterns p ON (t.col LIKE p.pattern);</code>
ログイン後にコピー

この変更により、tbl テーブル内の各行は、複数のパターンに一致する場合でも、結果に 1 回だけ表示されることが保証されます。

How Can I Efficiently Use Multiple Conditions with SQL's LIKE Operator?

以上がSQL の LIKE 演算子で複数の条件を効率的に使用するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート