Sobes.tech
Middle

Ako pracovať s NULL v SQL?

sobes.tech AI

Odpoveď od AI

V SQL znamená NULL neprítomnosť hodnoty a s tým je potrebné zaobchádzať špeciálnym spôsobom:

  • Porovnania s NULL: Operátory =, <> nefungujú s NULL ako s bežnou hodnotou. Napríklad, column = NULL vždy vráti FALSE.

  • Kontrola na NULL: Použite IS NULL alebo IS NOT NULL na overenie prítomnosti alebo neprítomnosti hodnoty.

  • Spracovanie v agregátoch: Funkcie ako COUNT(column) nezohľadňujú NULL, zatiaľ čo COUNT(*) počíta všetky riadky.

  • Funkcie na nahradenie NULL: COALESCE(column, default_value) vráti prvú nenulovú hodnotu zo zoznamu.

  • Spojenie tabuliek: Pri JOIN môžu riadky s NULL v kľúčových poliach nepasovať, čo ovplyvňuje výsledok. Napríklad, INNER JOIN takéto riadky vylúči, zatiaľ čo LEFT JOIN ich zachová s NULL v poliach pripojených tabuliek.

Príklad:

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

Tu nahrádzame NULL v poli email predvolenou adresou a vyberáme iba používateľov s známym dátumom posledného prihlásenia.