Sobes.tech
Middle

Kako raditi sa NULL u SQL?

sobes.tech АИ

Одговор од АИ

U SQL-u, NULL označava odsustvo vrednosti i mora se tretirati na poseban način:

  • Upoređivanje sa NULL: Operator =, <> ne rade sa NULL kao sa običnom vrednošću. Na primer, column = NULL uvek vraća FALSE.

  • Provera na NULL: Koristite IS NULL ili IS NOT NULL za proveru prisustva ili odsustva vrednosti.

  • Obrada u agregatnim funkcijama: Funkcije poput COUNT(column) ne uzimaju u obzir NULL, dok COUNT(*) broji sve redove.

  • Funkcije za zamenu NULL: COALESCE(column, default_value) vraća prvu ne-NULL vrednost sa liste.

  • Spajanje tabela: Kod JOIN-a, redovi sa NULL u ključnim poljima možda neće odgovarati, što utiče na rezultat. Na primer, INNER JOIN će isključiti takve redove, dok će LEFT JOIN zadržati sa NULL u poljima spojene tabele.

Primer:

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

Ovde zamenjujemo NULL u polju email sa podrazumevanom adresom i biramo samo korisnike sa poznatim datumom poslednjeg prijavljivanja.