ホームページ > データベース > mysql チュートリアル > 複数の値に対して MySQL の LIKE 演算子を効率的に使用する方法は?

複数の値に対して MySQL の LIKE 演算子を効率的に使用する方法は?

Linda Hamilton
リリース: 2025-01-05 21:47:40
オリジナル
134 人が閲覧しました

How to Efficiently Use MySQL's LIKE Operator for Multiple Values?

複数の値の MySQL LIKE クエリ

この記事では、MySQL クエリで LIKE 演算子を使用して複数の値を検索するときに直面する一般的な問題について説明します。目標は、特定のフィールドに指定された値の少なくとも 1 つが含まれる行を検索することです。

クエリとサンプル データ

次の MySQL クエリを考えてみましょう:

SELECT * FROM table WHERE interests LIKE ('%sports%', '%pub%')
ログイン後にコピー

「興味」に次のサンプルデータを入れますフィールド:

sports,shopping,pool,pc,games
shopping,pool,pc,games
sports,pub,swimming, pool, pc, games
ログイン後にコピー

問題の説明

上記のクエリは期待どおりに機能しません。 「スポーツ」または「パブ」のいずれかを含む行は返されません。

解決策: ブール演算子の使用

簡単な解決策は、次のようなブール演算子を使用することです。または、複数の値の条件を指定するには:

WHERE interests LIKE '%sports%' OR interests LIKE '%pub%'
ログイン後にコピー

より効率的解決策: REGEXP

を使用すると、REGEXP 演算子を使用して複数の値をより効率的に検索できます。

WHERE interests REGEXP 'sports|pub'
ログイン後にコピー

このソリューションでは、REGEXP 演算子を使用して正規表現を指定します。 「興味」フィールドに「スポーツ」または「スポーツ」のいずれかが含まれる行と一致します。 "pub."

リソース

MySQL の REGEXP の詳細については、次のリソースを参照してください:

  • [MySQL REGEXP](http://www.tutorialspoint.com/mysql/mysql-regexps.htm)
  • [MySQL フォーラム: 複数の値が好き](http://forums.mysql.com/read.php? 10,392332,392950#msg-392950)

以上が複数の値に対して MySQL の LIKE 演算子を効率的に使用する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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