Introducción

En SQL, el valor NULL representa un dato desconocido o no aplicable. Es importante entender cómo manejar NULL en tus consultas, ya que puede afectar los resultados de tus operaciones y comparaciones.

Conceptos Clave

  1. NULL: Representa un valor desconocido o no aplicable.
  2. IS NULL: Operador utilizado para verificar si un valor es NULL.
  3. IS NOT NULL: Operador utilizado para verificar si un valor no es NULL.

¿Qué es NULL?

En SQL, NULL es un marcador especial utilizado para indicar que un valor no está presente en la base de datos. No es lo mismo que un valor cero, una cadena vacía o cualquier otro valor predeterminado. NULL es simplemente la ausencia de un valor.

Ejemplo de NULL

Considera la siguiente tabla empleados:

id nombre salario
1 Juan 50000
2 Ana NULL
3 Pedro 45000

En este caso, el salario de Ana es NULL, lo que significa que no se ha registrado su salario.

Comparaciones con NULL

Las comparaciones directas con NULL no funcionan como con otros valores. Por ejemplo, la expresión salario = NULL no devolverá los resultados esperados. En su lugar, se deben usar los operadores IS NULL y IS NOT NULL.

Ejemplo de Comparación Incorrecta

SELECT * FROM empleados WHERE salario = NULL;

La consulta anterior no devolverá ningún resultado, incluso si hay registros con NULL en la columna salario.

Comparación Correcta con IS NULL

Para encontrar registros donde el salario es NULL, se debe usar IS NULL:

SELECT * FROM empleados WHERE salario IS NULL;

Comparación Correcta con IS NOT NULL

Para encontrar registros donde el salario no es NULL, se debe usar IS NOT NULL:

SELECT * FROM empleados WHERE salario IS NOT NULL;

Ejemplos Prácticos

Ejemplo 1: Seleccionar registros con valores NULL

SELECT * FROM empleados WHERE salario IS NULL;

Explicación: Esta consulta selecciona todos los registros de la tabla empleados donde el valor de la columna salario es NULL.

Ejemplo 2: Seleccionar registros con valores no NULL

SELECT * FROM empleados WHERE salario IS NOT NULL;

Explicación: Esta consulta selecciona todos los registros de la tabla empleados donde el valor de la columna salario no es NULL.

Ejercicio Práctico

Ejercicio 1

Dada la siguiente tabla productos:

id nombre precio
1 Televisor 300
2 Lavadora NULL
3 Microondas 100
4 Refrigerador NULL
  1. Escribe una consulta para seleccionar todos los productos cuyo precio es NULL.
  2. Escribe una consulta para seleccionar todos los productos cuyo precio no es NULL.

Soluciones

  1. Seleccionar productos con precio NULL:
SELECT * FROM productos WHERE precio IS NULL;
  1. Seleccionar productos con precio no NULL:
SELECT * FROM productos WHERE precio IS NOT NULL;

Resumen

En esta sección, hemos aprendido sobre el valor NULL en SQL y cómo utilizar los operadores IS NULL y IS NOT NULL para manejar comparaciones con NULL. Estos conceptos son fundamentales para trabajar con datos incompletos o desconocidos en tus bases de datos.

En el próximo tema, exploraremos cómo agregar datos utilizando la cláusula GROUP BY.

Curso de SQL

Módulo 1: Introducción a SQL

Módulo 2: Consultas básicas de SQL

Módulo 3: Trabajando con múltiples tablas

Módulo 4: Filtrado avanzado de datos

Módulo 5: Manipulación de datos

Módulo 6: Funciones avanzadas de SQL

Módulo 7: Subconsultas y consultas anidadas

Módulo 8: Índices y optimización de rendimiento

Módulo 9: Transacciones y concurrencia

Módulo 10: Temas avanzados

Módulo 11: SQL en la práctica

Módulo 12: Proyecto final

© Copyright 2024. Todos los derechos reservados