Jak pracować z NULL w SQL?
sobes.tech AI
Odpowiedź od AI
W SQL NULL oznacza brak wartości i musi być obsługiwany w specjalny sposób:
-
Porównania z NULL: Operatory
=,<>nie działają zNULLjak z zwykłą wartością. Na przykład,column = NULLzawsze zwracaFALSE. -
Sprawdzanie na NULL: Użyj
IS NULLlubIS NOT NULL, aby sprawdzić obecność lub brak wartości. -
Obsługa w agregatach: Funkcje takie jak
COUNT(column)nie uwzględniająNULL, podczas gdyCOUNT(*)liczy wszystkie wiersze. -
Funkcje do zamiany NULL:
COALESCE(column, default_value)zwraca pierwszą nie-NULL wartość z listy. -
Łączenie tabel: Przy
JOINwiersze zNULLw kluczowych polach mogą nie pasować, co wpływa na wynik. Na przykład,INNER JOINwykluczy takie wiersze, aLEFT JOINzachowa je zNULLw polach dołączonej tabeli.
Przykład:
SELECT
user_id,
COALESCE(email, 'no-email@example.com') AS email_address
FROM users
WHERE last_login IS NOT NULL;
Tutaj zamieniamy NULL w polu email na domyślny adres i wybieramy tylko użytkowników z znaną datą ostatniego logowania.