Puoi utilizzare un REGEXP per trovare una corrispondenza con una qualsiasi delle parole nella stringa di ricerca:
select *
from tbl
where
title REGEXP CONCAT('[[:<:]](', REPLACE('Acme burger', ' ', '|'), ')[[:>:]]')
Si prega di notare che questo non sarà molto efficiente. Vedi violino qui .
Se hai bisogno di abbinare ogni parola nella tua stringa, puoi usare una query come questa:
select *
from tbl
where
title REGEXP CONCAT('[[:<:]]', REPLACE('Acme burger', ' ', '[[:>:]].*[[:<:]]'), '[[:>:]]')
Fiddle qui . Ma le parole devono essere nell'ordine corretto (es. "Acme burger" corrisponderà, "burger Acme" no). C'è un REGEXP per abbinare ogni parola in qualsiasi ordine, ma non è supportato da MySql, a meno che tu non installi un UDF che supporti l'espressione regolare Perl.