Sobes.tech
Middle

Come lavorare con NULL in SQL?

sobes.tech AI

Risposta dell'AI

In SQL, NULL indica l'assenza di un valore e deve essere trattato in modo speciale:

  • Confronti con NULL: Gli operatori =, <> non funzionano con NULL come con un valore normale. Ad esempio, column = NULL restituisce sempre FALSE.

  • Verifica di NULL: Usa IS NULL o IS NOT NULL per verificare la presenza o assenza di un valore.

  • Gestione negli aggregati: Funzioni come COUNT(column) non considerano NULL, mentre COUNT(*) conta tutte le righe.

  • Funzioni per sostituire NULL: COALESCE(column, default_value) restituisce il primo valore non-NULL dalla lista.

  • Unione di tabelle: In JOIN, le righe con NULL nei campi chiave potrebbero non corrispondere, influenzando il risultato. Ad esempio, INNER JOIN escluderà tali righe, mentre LEFT JOIN le manterrà con NULL nei campi della tabella unita.

Esempio:

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

Qui sostituiamo NULL nel campo email con un indirizzo predefinito e selezioniamo solo gli utenti con una data di ultimo accesso nota.