PHP+SQLite:あいまい検索

(1/1)
SQLのSELECT文で、WHERE句の中に LIKE句を書くことで、あいまい条件検索を行うプログラムを作ってみることにする。

(2022年11月19日)PHP8対応,他.

目次

サンプル・プログラムの実行例

PHP+SQLite:あいまい検索

サンプル・プログラム

圧縮ファイルの内容
like1.phpサンプル・プログラム本体。
このプログラムは、「武田」という名前が含まれる者を抽出、表示するものである。

解説:抽出条件指定とWHERE句

  51: //実行するSQL
  52: define('SQL', "SELECT * FROM chronologic WHERE 1;");

前回、WHERE句の後に数値の大小比較式や論理式を記すプログラムについて紹介した。今回は LIKEという演算子を紹介する。
LIKE句はSQL特有の演算子で、%(パーセント)記号と合わせて用いることで文字列のあいまい検索を可能とする。
SELECT * FROM chronologic WHERE name like '%武田%';
これは、nameカラムに「武田」という文字列を含むレコードがマッチするSQL文である。
%(パーセント)記号は、あらゆる文字列にマッチする。この場合は、「武田」の前後に何らかの文字列があるレコードを抽出するという意味になる(部分一致)。
武田氏という苗字を検索したいなら、'武田%' と書いた方が良いだろう。この場合は、「武田」ではじまる任意の文字列という意味になる(前方一致)。
また、「武田」が苗字ではなく名前であるならば、'%武田' という書き方にする(後方一致)。

参考サイト

(この項おわり)
header