Wyszukiwanie z warunkami – WHERE
W tym odcinku opanujesz wszystkie wzorce filtrowania danych: operatory porównania, LIKE, BETWEEN, IS NULL, AND/OR, UPDATE oraz NOT IN z podzapytaniem. To najobszerniejszy zestaw wzorców egzaminacyjnych.
Zadanie 1: Operatory porównania (=, !=, <, >, <=, >=)
- Cel: Filtrowanie po konkretnej wartości lub zakresie.
Zadanie 2: LIKE – wyszukiwanie wzorców w tekście
- Cel: Kluczowe słowa w treści zadania: „zawiera słowo", „zaczyna się od", „w dowolnym miejscu".
| Wzorzec LIKE | Znaczenie |
|---|---|
'%słowo%' |
słowo w dowolnym miejscu |
'słowo%' |
zaczyna się od 'słowo' |
'%słowo' |
kończy się na 'słowo' |
'_a%' |
drugi znak to 'a' (podkreślnik = 1 znak) |
'2024-03%' |
cały marzec 2024 |
Wskazówka: Data przez
LIKE– wzorzec z egzaminów 2026: kolumnaDATEmoże być filtrowana przezLIKE '2024-05-23%'.
Zadanie 3: BETWEEN – zakres wartości i dat
- Cel: Stosujemy gdy zadanie podaje przedział liczb lub dat. Obie granice są włączone.
Wskazówka:
BETWEEN mniejsza AND większa– zawsze najpierw mniejsza wartość. Odpowiednik:>= AND <=.
Zadanie 4: IS NULL i IS NOT NULL
- Cel: Gdy zadanie mówi „niepuste" lub „bez autora". Nigdy nie piszemy
= NULL– to nie zadziała!
Zadanie 5: AND i OR – łączenie warunków
- Cel:
AND– oba warunki muszą być spełnione.OR– wystarczy jeden.
Zadanie 6: UPDATE – aktualizacja rekordów
- Cel: Modyfikacja istniejących rekordów. Najważniejszy wzorzec: zmiana wartości liczbowej przez obliczenie (np. podwyżka ceny o 10%).
Wzorzec:
Przykłady:
Wskazówka:
UPDATEbezWHEREzmieni WSZYSTKIE rekordy w tabeli – zawsze dodawajWHERE! Wzorzec:cena = cena * 1.10to +10%,cena = cena * 0.90to -10%.
Zadanie 7: NOT IN z podzapytaniem
- Cel: Wzorzec „znajdź rekordy bez powiązania" – elegancka alternatywa dla LEFT JOIN z IS NULL.
| Operator | Znaczenie |
|---|---|
WHERE id IN (SELECT ...) |
id musi być w wynikach podzapytania |
WHERE id NOT IN (SELECT ...) |
id NIE może być w wynikach podzapytania |
Wskazówka: Podzapytanie w nawiasach musi zwracać dokładnie jedną kolumnę.
materiały: link