302 PHP i MySQL dla każdego
302 PHP i MySQL dla każdego
Tabela 10.7. Operatory logiczne w MySQL
Operator |
Opis |
Przykład |
AND |
Logiczny iloczyn. Zwraca wartość TRUE (1) wtedy i tylko wtedy, gdy oba argumenty mają wartość TRUE (1). W każdym innym przypadku zwraca wartość FALSE (0). |
Imie='Jan' AND Nazwisko-'Kowalski' |
&& |
Logiczny iloczyn. Znaczenie takie samo jak AND. |
Imię-'Jan' && Nazwisko-'Kowalski' |
OR |
Logiczna suma. Zwraca wartość TRUE (1), kiedy przynajmniej jeden z argumentów ma wartość TRUE (1). W każdym innym przypadku zwraca wartość FALSE (0). |
Imię-'Jan' OR Imie-'Andrzej' |
II |
Logiczna suma. Znaczenie takie samo jak OR. |
Imię-'Jan' || Imię-'Andrzej’ |
X0R |
Logiczna różnica symetryczna (logiczna alternatywa wykluczająca). Zwraca wartość TRUE (1), kiedy oba argumenty mają różne wartości logiczne, oraz wartość FALSE (0), kiedy oba argumenty mają takie same wartości logiczne. |
Kolumnal X0R KolumnaŻ, Pole X0R 64 |
NOT |
Logiczna negacja. Zmienia wartość argumentu na przeciwną. Jeśli wartością argumentu było TRUE (1), wynikiem będzie FALSE (0). Jeśli natomiast wartością argumentu było FALSE (0), wynikiem będzie TRUE (1). |
NOT Aktywny |
Logiczna negacja. Znaczenie takie samo jak NOT. |
! Aktywny |
Rysunek 10.10.
Efekt działania instrukcji pobierające dane osób o nazwisku Kowalski
nysąl |
select « from osoba where Nazwisko-'kowalski'; | |
Id |
Inie |
Nazwisko 1 Rok_Urodzenia i MieJsce_Urodzenia |
3 |
Andrzej |
Kowalski 1 1964 i Bydgoszcz Kowalski i 1986 i Nidzica |
Wykorzystajmy teraz operator większości do pobrania listy osób urodzonych po roku 1985. Zapytanie SQL będzie miało wtedy postać:
SELECT * FROM Osoba WHERE Rok_urodzenia > 1985:
Efekt jego działania został przedstawiony na rysunku 10.11. Analogiczny efekt moglibyśmy również osiągnąć wykorzystując operator >=, w postaci:
SELECT * FROM Osoba WHERE Rok_urodzenia >= 1986:
Rysunek 10.11.
Kielce
Kielce
Bydgos
Efekt działania zapytania pobierającego listę osób urodzonych po roku 1995
Aby uzyskać w wyniku zapytania wartości pól z danego zakresu, można użyć dwóch operatorów porównywania i operatora logicznego lub też skorzystać z operatora BETWEEN. Załóżmy, że chcemy pobrać listę osób o identyfikatorach z przedziału 3-6. Możemy w takim wypadku wykonać zapytanie w postaci: