AND, OR
Operatory
AND oraz OR służą głównie do filtrowania wyników.
Dzięki tym operatorom możemy łączyć warunki i otrzymać np. bardziej precyzyjny wynik.
AND
Użycie
AND (
czyli "i") polega na tym, iż oba warunki muszą być spełnione.
W wolnym tłumaczeniu: kolumna1, dla której wartość wynosi X
i kolumna2, dla której wartość wynosi Y.
Jeżeli którykolwiek z warunków nie jest spełniony całość nie będzie spełniona.
SELECT kolumna/kolumny FROM tabela/tabele WHERE kolumna=WARTOSC AND kolumna2=WARTOSC2;
OR
Użycie
OR (
czyli "lub") polega na tym, iż którykolwiek z warunków musi być spełniony.
Przykład: kolumna1, dla której wartość wynosi X
lub kolumna2, dla której wartość wynosi Y.
Jeżeli żaden z warunków nie jest spełniony, całość nie będzie spełniona.
Wystarczy, że jeden z warunków jest spełniony, aby całość była spełniona.
SELECT kolumna/kolumny FROM tabela/tabele WHERE kolumna=WARTOSC OR kolumna2=WARTOSC2;
Składnia:
SELECT kolumna/kolumny FROM tabela/tabele WHERE kolumna=WARTOSC AND/OR kolumna2=WARTOSC2 AND/OR kolumna3=WARTOSC3 (...);
Uwaga:
Możemy łączyć więcej niż jeden warunek (co pokazano wyżej w części SKŁADNIA).
Operatory możemy również łączyć w grupy poprzez użycie nawiasów.
SELECT kolumna1, kolumna2, kolumna3 FROM tabela WHERE kolumna1=WARTOSC1 AND (kolumna2=WARTOSC2 or kolumna3=WARTOSC3);
Powyższe zapytanie oznacza, iż kolumna1=WARTOSC1 musi być prawdziwe oraz przynajmniej jeden z warunków w nawiasie - kolumna2=WARTOSC2 lub kolumna3=WARTOSC3 musi być spełniony.
Przykład użycia AND oraz OR:
Tabela "users" oraz jej zawartość:
SELECT id, Imie, Nazwisko, Adres, Miasto, Wiek FROM users;
id |
Imie |
Nazwisko |
Adres |
Miasto |
Wiek |
1 |
Adam |
Kowalski |
Warszawska 10 |
Wrocław |
23 |
2 |
Monika |
Gosiewska |
Bema 2/3 |
Gdańsk |
19 |
3 |
Marcin |
Jastrzębski |
Białostocka 10b/2 |
Kraków |
56 |
4 |
Paulina |
Milewska |
Jagiellońska 3 |
Lublin |
18 |
Na powyższej tabeli wykonujemy zapytania:
SELECT id, Imie, Nazwisko, Adres, Miasto, Wiek FROM users WHERE Imie='Adam';
id |
Imie |
Nazwisko |
Adres |
Miasto |
Wiek |
1 |
Adam |
Kowalski |
Warszawska 10 |
Wrocław |
23 |
Przykład numer 2:
Użycie OR.
SELECT id, Imie, Wiek FROM users WHERE Imie='Adam' OR Imie='Monika';
Wykonanie powyższego zapytania da następujący rezultat:
id |
Imie |
Wiek |
1 |
Adam |
23 |
2 |
Monika |
19 |
Przykład numer 3:
Połączenie AND i OR.
Tym razem użyjemy warunku AND przy
SELECT id, Imie, Wiek FROM users WHERE Imie='Adam' OR Imie='Monika' AND (Wiek=23 OR Wiek=19);
Wykonanie zapytania zwróci wynik:
id |
Imie |
Wiek |
1 |
Adam |
23 |
2 |
Monika |
19 |
Pobieramy
id, Imie oraz
Wiek z tabeli
users, gdzie wartość kolumny
Imie jest
Adam lub wartość kolumny
Imie jest
Monika i wartość kolumny
Wiek jest
23 lub 19.