• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:複数キーワードでのあいまい検索)

複数キーワードでのあいまい検索の方法を教えてください

このQ&Aのポイント
  • PHPファイルのテキストボックスに入力された文字列でテーブルを検索する際に、複数キーワードでのあいまい検索の方法について困っています。
  • 現在、単一のキーワードであいまい検索を行うことはできますが、複数のキーワードを同時に検索する方法がわかりません。
  • PHPで文字列を代入してSQL文を作成する際に、複数キーワードでのあいまい検索を実現するための記述方法を教えていただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

あいまい検索の場合、カラム名 LIKE '%キーワード%' ですね。 複数のキーワードを重ねる場合、ANDやORがあります。ANDは両方とも含む場合、ORはどちらかを含む場合です。 即ち、「今日 天気」のどちらかが含まれる場合は、 SELECT * FROM table WHERE ( title LIKE '%今日%' ) OR ( title LIKE '%天気%' ); というクエリを発行すれば良いです。()は無くても同じですが、条件を重ねる場合はあった方が見やすいかもしれません。

rusya
質問者

お礼

回答ありがとうございます。 ANDは分かったのですが、構文が違っていました(汗) これで何とかなりそうです。ありがとうございました。

その他の回答 (1)

回答No.2

「title like '%天気%'」といった操作方法は、性能を出せない検索の仕方です。 それをorで繋ぐといったことは、性能を出したいシステムでは普通はやりません。 データ件数が1000件以下程度ならいいですが、数万件、数十万件になるなら、設計を見直した方がいいですよ。

rusya
質問者

お礼

回答ありがとうございます。 もちろん、もっと効率のいい方法もあるのでしょうが、今回はデータ件数が百件前後と少ないことと、時間があまりないのでこの方法を取ることにしました。

関連するQ&A