Sobes.tech
Middle

Hoe om te gaan met NULL in SQL?

sobes.tech AI

Antwoord van AI

In SQL betekent NULL het ontbreken van een waarde en moet het op een speciale manier worden behandeld:

  • Vergelijkingen met NULL: De operators =, <> werken niet met NULL zoals met een normale waarde. Bijvoorbeeld, column = NULL geeft altijd FALSE.

  • Controle op NULL: Gebruik IS NULL of IS NOT NULL om te controleren of een waarde aanwezig is of niet.

  • In aggregaten: Functies zoals COUNT(column) houden geen rekening met NULL, terwijl COUNT(*) alle rijen telt.

  • Functies om NULL te vervangen: COALESCE(column, default_value) geeft de eerste niet-NULL waarde uit de lijst.

  • Samenvoeging van tabellen: Bij JOIN kunnen rijen met NULL in sleutelvelden niet overeenkomen, wat de uitkomst beïnvloedt. Bijvoorbeeld, INNER JOIN sluit zulke rijen uit, terwijl LEFT JOIN ze behoudt met NULL in de gekoppelde velden.

Voorbeeld:

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

Hier vervangen we NULL in het veld email door een standaardadres en selecteren alleen gebruikers met een bekende laatste inlogdatum.