300 PHP i MySQL dla każdego
Rysunek 10.9. |
3S5.::ir |
Imi s Mi |
as 'lilio'. Na sto fron osoba |
zwisko, Rok_Urodzenia as ’ | |
I»ię |
Naz |
isko ! Rok |
urodzenia |
Miasto | |
w wynikach |
fld«. |
Kow |
laki 1 |
1964 |
Bydgoszcz ! |
zapytania |
Krzysztof KanS!r Kamil |
Kou Ada Bor |
nouski ! cki 1 czyk i wski I |
1986 1989 1986 1989 1976 |
Kielce* i Kielce Bydgoszcz j Szczecin i Skierniewice ! |
0 rows in s |
t <0 |
03 sec) |
Pobieranie całej zawartości tabeli stosuje się bardzo rzadko. W rzeczywistości najczęściej interesuje nas pewien podzbiór danych. Otrzymanie określonego zestawu wierszy zapewni nam klauzula WHERE instrukcji SELECT. Za klauzulą WHERE należy umieścić warunek, który muszą spełniać wiersze, aby znalazły się w wynikach zapytania. Warunek w klauzuli WHERE może zawierać operatory relacyjne przedstawione w tabeli 10.6 oraz operatory logiczne zaprezentowane w tabeli 10.7.
Oprócz przedstawionych w powyższych tabelach operatorów relacyjnych i logicznych stosunkowo często wykorzystywane są także dwie funkcje operujące na ciągach znaków: LIKE i NOT LIKE. Wywołanie funkcji LIKE ma postać: wyrażenie LIKE wzorzec
Zwraca ona wartość TRUE, jeśli wyrażenie pasuje do wzorca, lub wartość FALSE — w przeciwnym przypadku. Jako wyrażenie zazwyczaj jest stosowana nazwa kolumny. Argument wzorzec może zawierać dwa znaki specjalne. Pierwszy z nich to %, zastępujący dowolną liczbę znaków, drugi to _ (podkreślenie), który zastępuje dokładnie jeden znak. Oznacza to, że do przykładowego wzorca Jan% będą pasowały ciągi: Jan, Janusz, Janek,! Janowski itp., a do wzorca Warszaw_ — ciągi Warszawa, Warszawy, Warszawo itp.
Funkcja NOT LIKE ma postać:
wyrażenie NOT LIKE wzorzec
i działa odwrotnie do LIKE, czyli zwraca wartość TRUE, jeśli wyrażenie nie jest zgodne z wzorcem, lub wartość FALSE, kiedy wyrażenie jest zgodne z wzorcem.
Spróbujmy teraz wykonać kilka praktycznych przykładów wykorzystujących niektóre z opisanych operatorów i funkcji. Operować będziemy na wcześniej stworzonej i wypełnionej danymi tabeli Osoba. Pobierzmy zatem wszystkie wiersze tabeli Osoba, które w polu Nazwisko mają zapisaną wartość Kowalski, czyli odczytajmy dane wszystkich osób o nazwisku Kowalski. Takie zadanie zostanie wykonane przez instrukcję:
SELECT * FROM Osoba WHERE Nazwisko='Kowalski':
Efekt działanie został zaprezentowany na rysunku 10.10. W klauzuli WHERE został wykorzystany operator =.