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

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

Operowanie na bazach danych w SQL często wymaga obsługi wartości pustych, czyli NULL. Właśnie do tego służy operator IS NULL. Jeśli kiedykolwiek zastanawiałeś się, jak działa i do czego dokładnie można go wykorzystać, to jesteś w dobrym miejscu.

Co to jest NULL w SQL?

NULL w SQL nie jest równoważny z zerem, pustym ciągiem znaków ani spacją. NULL oznacza brak wartości – coś, co jest nieznane lub niezdefiniowane. Właśnie dlatego standardowe operatory porównania, takie jak = lub !=, nie działają na wartościach NULL.

Jak działa IS NULL w SQL?

Składnia operatora IS NULL jest bardzo prosta. Używamy go w zapytaniach SQL, aby sprawdzić, czy dana kolumna zawiera wartość NULL. Oto podstawowy przykład:

SELECT * FROM employees WHERE department_id IS NULL;

Powyższe zapytanie zwróci wszystkich pracowników, którzy nie mają przypisanego działu (ich department_id jest NULL).

IS NULL kontra = NULL – dlaczego to nie działa?

Jednym z najczęstszych błędów początkujących użytkowników SQL jest użycie operatora równości do porównania z NULL, np.:

SELECT * FROM employees WHERE department_id = NULL;

Powyższe zapytanie nie zwróci żadnego wyniku, ponieważ w SQL porównania z NULL nie zwracają TRUE ani FALSE, ale UNKNOWN. Zamiast tego zawsze trzeba używać IS NULL.

Jak obsługiwać wartości NOT NULL?

Jeśli chcemy znaleźć tylko te rekordy, gdzie dana kolumna ma wartość inną niż NULL, używamy operatora IS NOT NULL. Przykładowe zapytanie:

SELECT * FROM employees WHERE department_id IS NOT NULL;

Powyższe zapytanie zwróci tylko tych pracowników, którzy mają przypisany dział.

Praktyczne zastosowania IS NULL

  • Filtrowanie brakujących danych – przydatne przy analizie danych w bazie.
  • Unikanie błędów w obliczeniach – np. próby sumowania NULL mogą prowadzić do niepoprawnych wyników.
  • Obsługa błędów i braków informacji – np. znalezienie użytkowników bez przypisanego adresu e-mail.

NULL a operacje arytmetyczne – pułapki, na które trzeba uważać

Operacje na NULL działają inaczej, niż mogłoby się wydawać. Każde działanie matematyczne na wartości NULL zwróci również NULL. Przykład:

SELECT 10 + NULL; -- wynik: NULL

Dlatego warto stosować funkcję COALESCE, aby zamienić NULL na wartość domyślną:

SELECT 10 + COALESCE(NULL, 0); -- wynik: 10

NULL w tabelach – przykładowe dane

Spójrzmy na przykładową tabelę z wartościami NULL:

ID Imię Email
1 Jan jan@example.com
2 Maria NULL
3 Adam adam@example.com

Zapytanie, które zwróci użytkowników bez adresu e-mail:

SELECT * FROM users WHERE email IS NULL;

Podsumowanie

Operator IS NULL w SQL to podstawowe narzędzie do pracy z brakującymi danymi. Dzięki niemu możemy lepiej zarządzać naszymi danymi, unikać błędów w obliczeniach oraz skuteczniej analizować informacje w bazach danych. Warto pamiętać, że NULL w SQL ma swoje unikalne zasady i trzeba go traktować inaczej niż zwykłe wartości liczbowe czy tekstowe.

 

Inny ciekawy artykuł:

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

KajoDataSpace