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 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...
Zatím není vložen žádný komentář. |
2013 © PiDi Soft | Mapa stránek | Odkazy |