Een aantal verschillende manieren om dit te doen:
De snellere (qua prestaties) is:select * FROM Table where keyword LIKE '%value%'
De truc in deze is de plaatsing van het % dat een jokerteken is en zegt:zoek alles wat eindigt of begint met deze waarde.
Een flexibelere maar (iets) langzamere zou de REGEXP-functie kunnen zijn:
Select * FROM Table WHERE keyword REGEXP 'value'
Dit maakt gebruik van de kracht van reguliere expressies, dus je kunt het zo uitgebreid krijgen als je wilt. Als u echter zoals hierboven vertrekt, krijgt u een soort 'poor man's Google', waardoor de zoekopdracht stukjes en beetjes van algemene velden kan zijn.
Het plakkerige gedeelte komt binnen als u op namen probeert te zoeken. Beide zouden bijvoorbeeld de naam "smid" vinden als u in SMI zocht. Geen van beide zou echter "Jon Smith" vinden als er een voor- en achternaam gescheiden waren. U moet dus een aaneenschakeling doen voor de zoekopdracht om Jon OF Smith OF Jon Smith OF Smith, Jon te vinden. Vanaf daar kan het echt sneeuwballen.
Als u een soort van geavanceerd zoeken uitvoert, moet u uw zoekopdracht natuurlijk dienovereenkomstig aanpassen. Dus als u bijvoorbeeld het eerste, het laatste adres wilt zoeken, moet uw zoekopdracht op elk van de volgende testen:
SELECT * FROM table WHERE first LIKE '%value%' OR last LIKE '%value%' OR address LIKE '%value'