Jak działa WHERE w języku SQL? Przykłady zastosowania

Jak działa WHERE w języku SQL? Przykłady zastosowania

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łnione
  • OR – 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 puste
  • IS 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

KajoDataSpace