Używamy cookies, żeby zwiększyć Twoje doświadczenia na stronie
CodeWorlds

Łączenie wielu warunków w praktyce

Znasz już wszystkie narzędzia skryby: porównania,

AND
/
OR
/
NOT
,
IN
,
BETWEEN
,
LIKE
oraz
IS NULL
. Czas połączyć je w jednym, potężnym zapytaniu. To właśnie tu objawia się prawdziwa moc Skryptorium.

Dwa warunki AND

Najprostsze połączenie to dwa warunki spięte operatorem

AND
. Możemy łączyć różne narzędzia - na przykład zakres
BETWEEN
z porównaniem:

1SELECT * FROM ksiazki
2WHERE rok_wydania BETWEEN 1990 AND 2020
3  AND dostepna = 1;

To znaczy: "Książki wydane w latach 1990-2020 ORAZ jednocześnie dostępne".

Łączenie różnych operatorów

Operatory można dowolnie mieszać. Tu zakres ceny spotyka się z listą kategorii:

1SELECT * FROM ksiazki
2WHERE cena BETWEEN 20 AND 80
3  AND kategoria_id IN (1, 2);

To znaczy: "Książki w cenie od 20 do 80 monet, należące do kategorii 1 lub 2".

Trzy warunki naraz

Możemy spiąć nawet trzy warunki - zakres, listę i wzorzec:

1SELECT * FROM ksiazki
2WHERE cena BETWEEN 20 AND 80
3  AND kategoria_id IN (1, 2)
4  AND tytul LIKE 'O%';

To zapytanie zwróci książki w cenie od 20 do 80 monet, z kategorii 1 lub 2, których tytuł zaczyna się na O. Trzy warunki w jednym!

Czytelność ma znaczenie

Gdy warunków jest wiele, warto każdy zapisać w osobnej linii i wciąć je pod

WHERE
. Tak zapytanie staje się czytelne jak dobrze spisany zwój. Pamiętaj też o nawiasach, gdy mieszasz
AND
z
OR
. Ćwicz łączenie, @name - to klucz do mistrzostwa!

Przejdź do CodeWorlds