例えば姓(last_name)と名(first_name)が別々のカラムに保存されたテーブル(customer)があるとします。
ID | last_name | first_name |
1 | 田中 | 太郎 |
2 | 山田 | 花子 |
「田中太郎」で検索したら ID = 1 の行が抽出できるようにするにはまず2つのカラムを結合する必要があります。
カラムを結合して検索させるには CONCAT を使います。
SELECT * FROM `customer` WHERE CONCAT(last_name, first_name) = 'キーワード'
これで「田中太郎」で検索すればマッチするようになります。
田中もしくは太郎でもマッチするようにするには演算子を LIKE に変えてあいまい検索にしましょう。
SELECT * FROM `customer` WHERE CONCAT(last_name, first_name) COLLATE utf8mb4_unicode_ci LIKE '%キーワード%'