W bazie danych zdefiniowano tabelę mieszkancy o polach: nazwisko, imie, miasto. Zapytanie
SELECT nazwisko, imie FROM mieszkancy WHERE miasto LIKE 'K%';zwróci nazwiska i imiona mieszkańców
Operator LIKE porównuje tekst ze wzorcem, w którym % oznacza dowolny ciąg znaków, także pusty. Wzorzec 'K%' wymaga więc, żeby nazwa zaczynała się literą K, a dalej może być cokolwiek. Zapytanie zwróci mieszkańców Krakowa, Katowic czy Kielc, ale nie Poznania.
Drugi znak wieloznaczny to _, który zastępuje dokładnie jeden znak: 'K_ty' pasuje do Koty, ale nie do Kraty. W MySQL porównanie jest zwykle niewrażliwe na wielkość liter, więc wzorzec złapie też nazwę zapisaną małą literą. Zapamiętaj położenie procentu: 'K%' to początek, '%k' koniec, '%k%' dowolne miejsce.
Wzorce działają też z NOT LIKE, który odwraca warunek.
Każda z błędnych odpowiedzi przesuwa znak % w inne miejsce. Nazwy kończące się literą K wybrałby wzorzec '%K', w którym dowolny ciąg stoi przed literą, a nie po niej.
Literę w dowolnym miejscu nazwy znajdzie wzorzec z procentami po obu stronach: '%K%'. Tu procent jest tylko na końcu, więc litera musi stać na początku.
Miasto o nazwie dokładnie K wybrałby warunek miasto = 'K' albo LIKE 'K' bez żadnego znaku wieloznacznego. Znak % po literze pozwala, żeby po niej wystąpiły kolejne znaki, więc Kraków też spełnia warunek. Dlatego zapytanie zwraca mieszkańców miast zaczynających się literą K.
Kluczowe jest więc położenie znaku procentu względem litery we wzorcu, a nie sama litera.
Warto przetestować wzorce na kilku nazwach, np. Kraków, Lublin i Płock, i sprawdzić, które pasują.