Lekcja 4 / kilka warunków
Więcej warunków: AND, OR i IN
W prawdziwej analizie rzadko wystarczy jeden filtr. Nauczysz się łączyć warunki tak, żeby wynik odpowiadał dokładnie na pytanie, a nie na coś podobnego.
Sytuacja z pracy
Support chce listę kont wymagających ręcznego sprawdzenia. Interesują cię konta
blocked albo pending. Potem produkt doprecyzowuje:
„najpierw sprawdź pending utworzone po 1 kwietnia”.
Dane startowe
| id | status | created_at | |
|---|---|---|---|
| 1 | anna@example.com | active | 2026-03-20 |
| 2 | bartek@example.com | blocked | 2026-04-11 |
| 3 | celina@example.com | pending | 2026-04-12 |
| 4 | damian@example.com | pending | 2026-03-01 |
Nowe pojęcia
Wiersz musi spełnić oba warunki naraz.
Wiersz może spełnić jeden z warunków.
Czytelna wersja pytania „czy wartość jest na tej liście?”.
Najpierw powiedz po polsku, co chcesz znaleźć. Dopiero potem pisz SQL.
Zapytanie z IN
SELECT id, email, status
FROM users
WHERE status IN ('blocked', 'pending');
Zapytanie z AND
SELECT id, email, status, created_at
FROM users
WHERE status = 'pending'
AND created_at >= '2026-04-01';
Wynik drugiego zapytania
| id | status | created_at | |
|---|---|---|---|
| 3 | celina@example.com | pending | 2026-04-12 |
Co to znaczy dla QA?
AND zawęża wynik, bo każdy kolejny warunek jest kolejną bramką. OR rozszerza wynik,
bo dopuszcza kilka możliwości. IN pomaga pisać zapytania, które ktoś inny zrozumie za miesiąc.
Mini-zadanie
Znajdź konta o statusie blocked albo pending, używając IN.
Ćwiczenie praktyczne
Napisz zapytanie dla pytania: „Pokaż konta pending utworzone po 1 kwietnia 2026”.
Potem dopisz jedno zdanie: dlaczego używasz tutaj AND, a nie OR?
Quiz
Kiedy używasz AND?
Gdy wszystkie warunki muszą być prawdziwe jednocześnie.
Kiedy używasz OR?
Gdy wystarczy jeden z kilku warunków.
Dlaczego IN jest wygodne?
Bo zastępuje długie ciągi warunków OR dla tej samej kolumny.
Co dalej?
Umiesz już szukać wartości. Teraz pora na dziwną sytuację: co jeśli wartości po prostu nie ma?
W następnej lekcji poznasz NULL.