Lekcja 3 / filtrowanie
WHERE: znajdź konkretne rekordy
Teraz po raz pierwszy zawęzisz wynik. Nie chcesz już widzieć wszystkich użytkowników, tylko tych, którzy spełniają jeden prosty warunek.
Sytuacja z pracy
Support pyta: „Pokaż mi zablokowane konta, bo chcę sprawdzić, czy zgłoszenie użytkownika może wynikać z blokady”. Masz już wybrane kolumny. Teraz potrzebujesz tylko wybranych wierszy.
Tabela przed filtrowaniem
| id | status | |
|---|---|---|
| 1 | anna@example.com | active |
| 2 | bartek@example.com | blocked |
| 3 | celina@example.com | pending |
| 4 | damian@example.com | blocked |
Nowe pojęcie: WHERE
WHERE działa jak bramka: przepuszcza tylko te wiersze, które pasują do warunku.
W tej lekcji używamy jednego warunku równości. Bez AND, bez OR, bez kombinowania.
Tekst w SQL zapisujemy w apostrofach, dlatego status ma postać 'blocked'.
Zapytanie SQL
SELECT id, email, status
FROM users
WHERE status = 'blocked';
Wynik
| id | status | |
|---|---|---|
| 2 | bartek@example.com | blocked |
| 4 | damian@example.com | blocked |
Co to znaczy dla QA?
Wynik mówi, które konta mają status blocked. Nie mówi jeszcze, dlaczego są zablokowane
ani czy blokada jest poprawna. SQL daje fakt do dalszej analizy, nie magiczną odpowiedź na cały problem.
Mini-zadanie
Zmień warunek tak, żeby znaleźć użytkowników ze statusem pending.
Podpowiedź
SELECT id, email, status
FROM users
WHERE status = 'pending';Ćwiczenie praktyczne
Napisz krótką notatkę: „Znalazłem konta ze statusem blocked. To oznacza..., ale nadal nie wiem...”. Uczysz się oddzielać fakt z bazy od interpretacji.
Quiz
Co robi WHERE?
Zostawia tylko wiersze pasujące do warunku.
Dlaczego 'blocked' jest w apostrofach?
Bo to wartość tekstowa.
Czy status blocked wyjaśnia przyczynę blokady?
Nie. Pokazuje stan konta, ale przyczyna wymaga kolejnych danych albo logów.
Co dalej?
Jeden warunek często wystarcza na start, ale w realnych zgłoszeniach szybko pojawi się potrzeba: „pokaż blocked albo pending” lub „pending utworzone po konkretnej dacie”. Tym zajmiemy się teraz.