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í sNULLjako s běžnou hodnotou. Napříkladcolumn = NULLvždy vrátíFALSE. -
Kontrola na NULL: Použijte
IS NULLneboIS NOT NULLk ověření přítomnosti nebo absence hodnoty. -
Zpracování v agregátech: Funkce jako
COUNT(column)nezahrnujíNULL, zatímcoCOUNT(*)počítá všechny řádky. -
Funkce pro nahrazení NULL:
COALESCE(column, default_value)vrací první nenulovou hodnotu ze seznamu. -
Spojení tabulek: Při
JOINmohou řádky sNULLv klíčových polích nesouhlasit, což ovlivňuje výsledek. NapříkladINNER JOINtakové řádky vyloučí, zatímcoLEFT JOINje zachová sNULLve 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í.