
Instrukcja WHERE
w SQL to jeden z najczęściej używanych elementów zapytań. Pozwala ona filtrować dane zwracane przez zapytanie, co jest niezbędne, gdy operujemy na dużych zbiorach informacji. W dzisiejszym artykule pokażę, jak działa WHERE
w języku SQL, podam przykłady jego zastosowania i omówię najważniejsze aspekty tej instrukcji.
Podstawowe użycie WHERE
Instrukcja WHERE
służy do filtrowania wyników na podstawie określonych warunków. Jej podstawowa składnia wygląda tak:
SELECT kolumna1, kolumna2 FROM nazwa_tabeli WHERE warunek;
Przykładowe użycie:
SELECT * FROM klienci WHERE miasto = 'Warszawa';
Powyższe zapytanie zwróci wszystkich klientów, którzy pochodzą z Warszawy.
Operatory logiczne w WHERE
W instrukcji WHERE
można używać różnych operatorów, które pozwalają na zaawansowane filtrowanie danych. Oto najważniejsze:
=
– równość!=
lub<>
– nierówność<
– mniejsze niż>
– większe niż<=
– mniejsze lub równe>=
– większe lub równe
Przykłady zastosowania:
SELECT * FROM produkty WHERE cena > 100;
Powyższe zapytanie zwróci wszystkie produkty, których cena jest większa niż 100.
Łączenie warunków za pomocą AND i OR
Kiedy chcemy dodać więcej niż jeden warunek, możemy użyć operatorów AND
i OR
.
AND
– oba warunki muszą być spełnioneOR
– wystarczy, że jeden warunek będzie prawdziwy
Przykłady:
SELECT * FROM zamowienia WHERE status = 'Wysłane' AND kwota > 500;
Zapytanie zwróci tylko zamówienia, które mają status „Wysłane” i kwotę większą niż 500.
SELECT * FROM pracownicy WHERE stanowisko = 'Programista' OR stanowisko = 'Analityk';
Wynik będzie zawierał pracowników, którzy są programistami lub analitykami.
Funkcje LIKE, IN i BETWEEN
Funkcja LIKE
Jeśli chcemy wyszukiwać dane według wzorca, możemy użyć operatora LIKE
. Używa on symboli wieloznacznych:
%
– zastępuje dowolną ilość znaków_
– zastępuje dokładnie jeden znak
Przykłady:
SELECT * FROM klienci WHERE nazwisko LIKE 'Kowal%';
Zapytanie znajdzie klientów, których nazwisko zaczyna się od „Kowal” (np. Kowalski, Kowalewski).
Funkcja IN
Jeśli chcemy sprawdzić, czy dana wartość znajduje się w określonym zbiorze, możemy użyć IN
:
SELECT * FROM produkty WHERE kategoria IN ('Elektronika', 'AGD');
Zapytanie zwróci wszystkie produkty należące do kategorii „Elektronika” lub „AGD”.
Funkcja BETWEEN
Funkcja BETWEEN
pozwala wybierać wartości z określonego przedziału.
SELECT * FROM zamowienia WHERE data_zlozenia BETWEEN '2024-01-01' AND '2024-06-30';
Zwrotką będą wszystkie zamówienia złożone między 1 stycznia a 30 czerwca 2024 roku.
Obsługa wartości NULL
W SQL wartość NULL
oznacza brak danych. Nie można porównywać NULL
używając operatorów takich jak =
czy !=
. Zamiast tego stosuje się:
IS NULL
– wyszukuje wartości pusteIS NOT NULL
– wyszukuje wartości niepuste
SELECT * FROM klienci WHERE email IS NULL;
Powyższe zapytanie zwróci klientów, którzy nie podali swojego adresu e-mail.
Przykładowa tabela i zapytania
Aby lepiej zobrazować działanie instrukcji WHERE
, oto przykładowa tabela „pracownicy”:
ID | Imię | Stanowisko | Wynagrodzenie | Miasto |
---|---|---|---|---|
1 | Adam | Programista | 7500 | Warszawa |
2 | Ewa | Projektant | 6800 | Kraków |
3 | Marek | Analityk | 7200 | Warszawa |
Przykładowe zapytania:
SELECT * FROM pracownicy WHERE miasto = 'Warszawa';
Zwróci Adama i Marka.
SELECT * FROM pracownicy WHERE wynagrodzenie > 7000;
Zwróci Adama i Marka, ponieważ ich wynagrodzenie jest większe niż 7000.
Podsumowanie
Instrukcja WHERE
w SQL to kluczowy element filtrowania wyników. Dzięki niej można wybrać tylko te dane, które spełniają określone warunki. W artykule omówiłem podstawowe operatory, sposoby łączenia warunków oraz funkcje, które pozwalają zawężać wyniki. Mam nadzieję, że teraz lepiej rozumiesz, jak działa WHERE
w języku SQL i jak można go wykorzystać w codziennej pracy z bazami danych.
Inny ciekawy artykuł:
Jak działa SELECT DISTINCT w języku SQL? Przykłady zastosowania
Opanuj SQL z moim kursem!
Poznasz zarówno podstawy, jak i zaawansowane zapytania analityczne (CTE, subqueries, window functions). Nauczysz się pracować na różnych silnikach – na kursie pracujemy zarówno na MySQL, jak i na Postgres. Wszystko zainstalujemy na Twoim komputerze, plus dostaniesz mnóstwo zestawów danych do ćwiczeń.
Zostań analitykiem danych – dołącz do KajoDataSpace!
Najlepsza ścieżka do zawodu analityka danych. Dostęp do pełnych wersji kursów online z Excela, SQLa, Tableau i Pythona z certyfikatami + specjalistycznych webinarów z PowerBI.
Ekskluzywana ale pomagająca sobie społeczność.
Ponad 61 godzin materiałów video.
Spotkania LIVE co miesiąc.
Mój osobisty mentoring.