Sobes.tech
Middle

Jak pracovat s NULL v SQL?

sobes.tech AI

Odpověď od AI

V SQL znamená NULL nepřítomnost hodnoty a s tím je třeba zacházet zvláštním způsobem:

  • Porovnání s NULL: Operátory =, <> nefungují s NULL jako s běžnou hodnotou. Například column = NULL vždy vrátí FALSE.

  • Kontrola na NULL: Použijte IS NULL nebo IS NOT NULL k ověření přítomnosti nebo absence hodnoty.

  • Zpracování v agregátech: Funkce jako COUNT(column) nezahrnují NULL, zatímco COUNT(*) počítá všechny řádky.

  • Funkce pro nahrazení NULL: COALESCE(column, default_value) vrací první nenulovou hodnotu ze seznamu.

  • Spojení tabulek: Při JOIN mohou řádky s NULL v klíčových polích nesouhlasit, což ovlivňuje výsledek. Například INNER JOIN takové řádky vyloučí, zatímco LEFT JOIN je zachová s NULL ve spojených polích.

Příklad:

SELECT
  user_id,
  COALESCE(email, 'no-email@example.com') AS email_address
FROM users
WHERE last_login IS NOT NULL;

Zde nahrazujeme NULL v poli email výchozí adresou a vybíráme pouze uživatele s známým datem posledního přihlášení.