En aquest tema, aprendrem sobre els valors NULL en SQL i com utilitzar la clàusula IS NULL per treballar amb aquests valors. Els valors NULL representen dades desconegudes o absents en una base de dades. És important comprendre com gestionar aquests valors per evitar errors en les consultes i assegurar la integritat de les dades.

Què és un valor NULL?

Un valor NULL en SQL indica que el valor d'un camp és desconegut o no aplicable. No és el mateix que un valor zero o una cadena buida; és una representació especial que significa "sense valor".

Característiques dels valors NULL:

  • Desconegut: Un valor NULL significa que no es coneix el valor.
  • No aplicable: Pot indicar que el valor no és aplicable en el context.
  • No és zero ni buit: NULL és diferent de zero (0) o una cadena buida ('').

Utilitzar IS NULL i IS NOT NULL

Per treballar amb valors NULL en les consultes SQL, utilitzem les clàusules IS NULL i IS NOT NULL. Aquestes clàusules ens permeten filtrar registres que tenen o no tenen valors NULL en un camp específic.

Sintaxi:

SELECT column1, column2, ...
FROM table_name
WHERE column_name IS NULL;

SELECT column1, column2, ...
FROM table_name
WHERE column_name IS NOT NULL;

Exemple pràctic:

Suposem que tenim una taula employees amb les següents dades:

id name email
1 Alice [email protected]
2 Bob NULL
3 Charlie [email protected]
4 David NULL

Consultar registres amb valors NULL:

SELECT id, name, email
FROM employees
WHERE email IS NULL;

Resultat:

id name email
2 Bob NULL
4 David NULL

Consultar registres amb valors no NULL:

SELECT id, name, email
FROM employees
WHERE email IS NOT NULL;

Resultat:

id name email
1 Alice [email protected]
3 Charlie [email protected]

Exercicis pràctics

Exercici 1:

Descripció: Troba tots els empleats que no tenen un correu electrònic registrat.

Consulta:

SELECT id, name
FROM employees
WHERE email IS NULL;

Exercici 2:

Descripció: Troba tots els empleats que tenen un correu electrònic registrat.

Consulta:

SELECT id, name, email
FROM employees
WHERE email IS NOT NULL;

Errors comuns i consells

Error comú: Comparar NULL amb l'operador =

Un error comú és intentar comparar un valor NULL amb l'operador = o !=. Això no funciona perquè NULL no és igual a cap valor, ni tan sols a un altre NULL.

Exemple incorrecte:

SELECT id, name
FROM employees
WHERE email = NULL;  -- Incorrecte

Solució:

Utilitza IS NULL o IS NOT NULL per comparar valors NULL.

Consell: Utilitza funcions de gestió de NULL

SQL proporciona funcions com COALESCE i IFNULL per gestionar valors NULL. Aquestes funcions poden ser útils per substituir valors NULL per un valor predeterminat.

Exemple amb COALESCE:

SELECT id, name, COALESCE(email, '[email protected]') AS email
FROM employees;

Resultat:

id name email
1 Alice [email protected]
2 Bob [email protected]
3 Charlie [email protected]
4 David [email protected]

Resum

En aquesta secció, hem après què són els valors NULL i com utilitzar les clàusules IS NULL i IS NOT NULL per treballar amb aquests valors en les nostres consultes SQL. També hem vist exemples pràctics i exercicis per reforçar els conceptes apresos. Ara estem preparats per avançar cap a temes més avançats de filtratge de dades en SQL.

Curs de SQL

Mòdul 1: Introducció a SQL

Mòdul 2: Consultes bàsiques de SQL

Mòdul 3: Treballar amb múltiples taules

Mòdul 4: Filtratge avançat de dades

Mòdul 5: Manipulació de dades

Mòdul 6: Funcions avançades de SQL

Mòdul 7: Subconsultes i consultes niades

Mòdul 8: Índexs i optimització del rendiment

Mòdul 9: Transaccions i concurrència

Mòdul 10: Temes avançats

Mòdul 11: SQL en la pràctica

Mòdul 12: Projecte final

© Copyright 2024. Tots els drets reservats