Sobes.tech
Middle

Cum să lucrezi cu NULL în SQL?

sobes.tech AI

Răspuns de la AI

În SQL, NULL înseamnă absența unei valori și trebuie tratat într-un mod special:

  • Compararea cu NULL: Operatorii =, <> nu funcționează cu NULL ca și cu o valoare obișnuită. De exemplu, column = NULL returnează întotdeauna FALSE.

  • Verificarea pentru NULL: Folosiți IS NULL sau IS NOT NULL pentru a verifica prezența sau absența unei valori.

  • Prelucrarea în agregate: Funcții precum COUNT(column) nu iau în considerare NULL, în timp ce COUNT(*) numără toate rândurile.

  • Funcții pentru înlocuirea NULL: COALESCE(column, default_value) returnează primul valoare non-NULL din listă.

  • Îmbinarea tabelelor: La JOIN, rândurile cu NULL în câmpurile cheie pot să nu se potrivească, ceea ce influențează rezultatul. De exemplu, INNER JOIN va exclude astfel de rânduri, în timp ce LEFT JOIN le va păstra cu NULL în câmpurile tabelei unite.

Exemplu:

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

Aici, înlocuim NULL în câmpul email cu o adresă implicită și selectăm doar utilizatorii cu o dată de ultimă autentificare cunoscută.