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 | |
---|---|---|
1 | Alice | [email protected] |
2 | Bob | NULL |
3 | Charlie | [email protected] |
4 | David | NULL |
Consultar registres amb valors NULL:
Resultat:
id | name | |
---|---|---|
2 | Bob | NULL |
4 | David | NULL |
Consultar registres amb valors no NULL:
Resultat:
id | name | |
---|---|---|
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:
Exercici 2:
Descripció: Troba tots els empleats que tenen un correu electrònic registrat.
Consulta:
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:
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 | |
---|---|---|
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
- Utilitzar LIKE per a coincidències de patrons
- Operadors IN i BETWEEN
- Valors NULL i IS NULL
- Agrupar dades amb GROUP BY
- Clàusula HAVING
Mòdul 5: Manipulació de dades
Mòdul 6: Funcions avançades de SQL
Mòdul 7: Subconsultes i consultes niades
- Introducció a les subconsultes
- Subconsultes correlacionades
- EXISTS i NOT EXISTS
- Utilitzar subconsultes en les clàusules SELECT, FROM i WHERE
Mòdul 8: Índexs i optimització del rendiment
- Comprendre els índexs
- Crear i gestionar índexs
- Tècniques d'optimització de consultes
- Analitzar el rendiment de les consultes
Mòdul 9: Transaccions i concurrència
- Introducció a les transaccions
- Propietats ACID
- Instruccions de control de transaccions
- Gestionar la concurrència
Mòdul 10: Temes avançats
Mòdul 11: SQL en la pràctica
- Casos d'ús del món real
- Millors pràctiques
- SQL per a l'anàlisi de dades
- SQL en el desenvolupament web