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

Listy wartości: IN

Gdy warunków z

OR
jest dużo, zapytanie robi się długie i nieczytelne. Na szczęście Biblioteka daje nam elegancki skrót: operator IN dla listy dozwolonych wartości.

IN zamiast wielu OR

Zamiast pisać wiele warunków

OR
, podajemy listę wartości w nawiasach:

1SELECT * FROM ksiazki
2WHERE kategoria_id IN (1, 2, 3);

To znaczy: "Książki, których

kategoria_id
to 1 LUB 2 LUB 3". Jest to dokładny odpowiednik:

1SELECT * FROM ksiazki
2WHERE kategoria_id = 1 OR kategoria_id = 2 OR kategoria_id = 3;

ale o wiele krótszy i czytelniejszy!

IN z tekstem

Operator

IN
działa też z tekstem - pamiętaj wtedy o pojedynczych cudzysłowach przy każdej wartości:

1SELECT * FROM autorzy
2WHERE kraj IN ('Polska', 'Grecja', 'Egipt');

To znaczy: "Autorzy z Polski, Grecji lub Egiptu". Wartości w nawiasie oddzielamy przecinkami.

Liczby bez cudzysłowów

Gdy lista zawiera liczby, cudzysłowów nie używamy:

1SELECT * FROM ksiazki
2WHERE kategoria_id IN (1, 3, 5);

Zapamiętaj, @name:

IN
to Twój sprzymierzeniec, gdy chcesz wybrać kilka konkretnych wartości z jednej kolumny. Krótszy zapis, mniej pomyłek - prawdziwa sztuka skryby!

Przejdź do CodeWorlds