第8話 検索条件について

お疲れ様です。エヌ・ケイ・カスタマイズ福山でございます。
第5話でも前回の上野の投稿においても検索についてお話させて頂いておりますが、今回は検索条件についてお話させて頂きたいと思います。検索は簡単に考えてしまいそうですが、データベースにおいては理解しておくことが非常に大切になりますので、お話させていただければと思います。

以前、検索条件には次の 2 つの要素があるとお話させてもらいました。
・ キーワード検索の種類
・ 検索方法

検索モードでは、1 回の検索実行時に、検索条件を複数指定できます。ただし、検索実行の種類は1 回の検索実行時につき(除外をのぞいて)1 種類のみ指定できます。 ややこしいですが、順番に表を見ていってください。検索条件が 1 件だと、

「東京都の男性」が検索されます。普通の検索です。
検索条件が2になると、

「東京都の男性と大阪府の男性」が検索されます。
また、こんな条件もあります。

「東京都の男性で 59 歳以下」が検索されます。検索方法の指定は6種類が可能です。

さらに検索方法をと考え合わせると、1回目に下表の検索を実行し、

検索結果の対象レコードにさらに絞り込みをかけると、

この2回の検索で
「東京都の男性で年齢が 60 歳以上のふりがなに、やま が含まれている」が検索されます。

AND や ORについて
検索モードでは、1 件の検索条件の中で 1 フィールドあるいは複数フィールドにキーワード(と演算子)を指定することができます。それは、

・ 条件は 1 件で 1 つのフィールドに指定する
・ 条件は 1 件で複数のフィールドに指定する : AND 検索
・ 複数の条件を作成してそれぞれの条件のフィールドに指定する : OR 検索

ということになります。先ほどの表だと、こんな感じです。

・ ○○ かつ △△ :  AND 検索 → 両方に合致
・ ○○ または △△ : OR 検索 → どちらかに合致

という結果を組み合わせて検索することになります。より細かく検索条件を設定できます。
しかし、 複雑な検索条件を指定するとき、気をつけることがあります。
・ AND 指定が多くなると、合致するレコードが少なくなります。
・ OR 指定が多いと、合致するレコードが多くなります。

必要なレコードを探すという意味では、AND の指定を思いつく限りおこなったほうがピンポイント で探せそうですが、それだけ厳しい条件指定にもなります。つまり合致するレコードが見つからないことが多くなります。

検索の種類では、絞り込みは AND で、拡大は OR です。AND は、より対象レコードが少なく、OR は、より対象レコードが多くなります。そのためです。

ということで、今回は検索条件についてお話させて頂きました。
AND検索とOR検索を組み合わせてスクリプトを使用したりすると、膨大なデータでも一つのボタンで細かい条件の抽出が可能になったりデータ管理が用意になりますので、ぜひ抑えておいて頂きたいと思います。次回もよろしくお願いいたします。

鹿児島県いちき串木野市
まぐろラーメン
   名物。魚介だしでわさびを溶いたあっさりしたスープ。チャーシュー代わりのマグロの漬けも最高です。

Follow me!

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です