Sobes.tech
Middle

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ą z NULL jak z zwykłą wartością. Na przykład, column = NULL zawsze zwraca FALSE.

  • Sprawdzanie na NULL: Użyj IS NULL lub IS NOT NULL, aby sprawdzić obecność lub brak wartości.

  • Obsługa w agregatach: Funkcje takie jak COUNT(column) nie uwzględniają NULL, podczas gdy COUNT(*) liczy wszystkie wiersze.

  • Funkcje do zamiany NULL: COALESCE(column, default_value) zwraca pierwszą nie-NULL wartość z listy.

  • Łączenie tabel: Przy JOIN wiersze z NULL w kluczowych polach mogą nie pasować, co wpływa na wynik. Na przykład, INNER JOIN wykluczy takie wiersze, a LEFT JOIN zachowa je z NULL w 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.