SELECT id,login from forum WHERE txt LIKE ('%MySQL%')Vybere z tabulky jména a čísla všech lidí, co napsali příspěvek obsahující "MySQL".
SELECT id,login from ctenari WHERE login LIKE ('Nov_')Ukáže čtenáře s příjmením Nový a čtenářky s příjmením Nová.
SELECT jmeno,txt from forum WHERE subject LIKE ('%M[Sy]SQL%')Vybere z tabulky příspěvky o MySQL nebo o MSSQL.
SELECT id,jmeno from ctenari WHERE jmeno LIKE ('[A-F]%')Vybere čtenáře se jménem začínajícím na A,B,C,D,E nebo F
ALTER TABLE tabulka ADD FULLTEXT vyhledavani (sloupec1,sloupec2,sloupec3)sloupce musí být typu varchar anebo text
SELECT * FROM tabulka WHERE MATCH(sloupec1,sloupec2,sloupec3) AGAINST('slovo')Funkce MATCH je case insensitive.
SELECT *, MATCH(sloupec1,sloupec2,sloupec3) AGAINST('slovo') AS score FROM tabulkaFunkce MATCH spolu s AGAINST vrací celé kladné číslo, tzv. score. Skóre určuje kolikrát byl výraz v tabulce nalezen. Tento příklad vybere všecky záznamy a jejich skóre.
SELECT *, MATCH(sloupec1,sloupec2,sloupec3) AGAINST('slovo') AS score FROM tabulka WHERE MATCH(sloupec1,sloupec2,sloupec3) AGAINST('slovo')Takto se řádky seřadí podle skóre - nahoře s nejvyšším, dole s nejnižším.
SELECT * FROM tabulka WHERE MATCH(sloupec1,sloupec2,sloupec3) AGAINST('+slovo -neco' IN BOOLEAN MODE)vybere záznamy obsahující 'slovo' a neobsahující 'neco'. Protože jsme v BOOLEAN MODE, tak je seznam nesetříděný podle score. Připoužití BOOLEAN MODE není třeba mít vytvořený fulltext index ale vyhledávání je potom pomalejší.
nic | výsledkem jsou záznamy obsahující aspoň jedno ze slov v AGAINST |
+ | toto slovo ve výsledku být musí |
- | toto slovo ve výsledku být nesmí |
< , > | zvýší nebo sníží slovu score |
( ) | seskupování a vytvoření složitějších podmínek |
~ | výrazy začínající tímto znakem budou mít nejnižší score, ale i tak větší než 0, takže budou vráceny. |
* | náhrada libovolných znaků - musí být na konci slova |
" | ve výsledku budou pouze řádky s přesně takovýmto výrazem |
SELECT * FROM tabulka WHERE MATCH(sloupec1,sloupec2,sloupec3) AGAINST('+banan ~jablko' IN BOOLEAN MODE)Vybere řádky obsahující banán a jablko, avšak řádky, kdese nachází i jablko, budou mít nižší skóre.
SELECT * FROM tabulka WHERE MATCH(sloupec1,sloupec2,sloupec3) AGAINST('+banan +(>jablko <hruska)' IN BOOLEAN MODE)Vybere řádky obsahující banán a jablko a ty řádky, obsahující banán a hruška budou mít nižší skóre.
SELECT * FROM tabulka WHERE MATCH(sloupec1,sloupec2,sloupec3) AGAINST('banan*' IN BOOLEAN MODE)Vybere řádky obsahující slova banán, banánový, banány atp...