MySQL IS NULL & IS NOT NULL Tutorial con ejemplos

En SQL Null es tanto un valor como una palabra clave. Veamos primero el valor NULL –

Nulo como valor

En términos simples, NULL es simplemente un marcador de posición para datos que no existen. Al realizar operaciones de inserción en tablas, habrá momentos en que algunos valores de campo no estarán disponibles.

Para cumplir con los requisitos de los verdaderos sistemas de administración de bases de datos relacionales, MySQL usa NULL como el marcador de posición para los valores que no se han enviado. La siguiente captura de pantalla muestra cómo se ven los valores NULL en la base de datos.

Veamos ahora algunos de los conceptos básicos para NULL antes de profundizar en la discusión.

  • NULL no es un tipo de datos ; esto significa que no se reconoce como “int”, “date” o cualquier otro tipo de datos definido.
  • Las operaciones aritméticas que implican a NULL siempre devuelven NULL, por ejemplo, 69 + NULL = NULL.
  • Todas las funciones agregadas afectan solo a las filas que no tienen valores NULL .

Vamos a demostrar ahora cómo la función de conteo trata los valores nulos. Veamos el contenido actual de la tabla de miembros

Ejecutar el script anterior nos da los siguientes resultados

número de socio nombres completos género fecha de nacimiento dirección física direccion postal número de contacto correo electrónico
1 Janet Jones Hembra 21-07-1980 Calle Primera Parcela No 4 Bolsa privada 0759 253 542 janetjones@yagoo.cm
2 Janet Smith Jones Hembra 23-06-1980 Melrose 123 NULO NULO jj@fstreet.com
3 Robert Phil Masculino 12-07-1989 3rd Street 34 NULO 12345 rm@tstreet.com
4 Gloria Williams Hembra 14-02-1984 2nd Street 23 NULO NULO NULO
5 Leonard Hofstadter Masculino NULO Woodcrest NULO 845738767 NULO
6 Sheldon Cooper Masculino NULO Woodcrest NULO 976736763 NULO
7 Rajesh Koothrappali Masculino NULO Woodcrest NULO 938867763 NULO
8 Leslie Winkle Masculino 14-02-1984 Woodcrest NULO 987636553 NULO
9 Howard Wolowitz Masculino 24-08-1981 Parque del Sur PO Box 4563 987786553 lwolowitz [at] email.me

Vamos a contar todos los miembros que han actualizado su contact_number

Ejecutar la consulta anterior nos da los siguientes resultados.

COUNT (contact_number)
7

Nota: los valores que son NULL no se han incluido

¿Lo que no es?

El operador lógico NOT se usa para probar condiciones booleanas y devuelve verdadero si la condición es falsa. El operador NOT devuelve falso si la condición ha sido probada es verdadera

Condición NO resultado del operador
Cierto Falso
Falso Cierto

¿Por qué usar NO nulo?

Habrá casos en los que tendremos que realizar cálculos en un conjunto de resultados de consulta y devolver los valores. La realización de operaciones aritméticas en columnas que tienen el valor NULL devuelve resultados nulos. Para evitar que ocurran estas situaciones, podemos utilizar el uso de la cláusula NOT NULL para limitar los resultados en los que opera nuestra información.

NOT NULL Valores

Supongamos que queremos crear una tabla con ciertos campos que siempre se deben proporcionar con valores al insertar nuevas filas en una tabla. Podemos usar la cláusula NOT NULL en un campo dado al crear la tabla.

El ejemplo que se muestra a continuación crea una nueva tabla que contiene los datos del empleado. El número de empleado siempre debe ser suministrado

Tratemos ahora de insertar un nuevo registro sin especificar el nombre del empleado y ver qué sucede.

Ejecutar el script anterior en MySQL workbench da el siguiente error:

NULL Palabras clave

NULL también se puede utilizar como palabra clave al realizar operaciones booleanas en valores que incluyen NULL. La palabra clave “IS / NOT” se usa junto con la palabra NULL para dichos fines. La sintaxis básica cuando null se usa como palabra clave es la siguiente

AQUÍ

  • “IS NULL” es la palabra clave que realiza la comparación booleana. Devuelve verdadero si el valor proporcionado es NULO y falso si el valor proporcionado no es NULO.
  • “NOT NULL” es la palabra clave que realiza la comparación booleana. Devuelve verdadero si el valor proporcionado no es NULO y falso si el valor proporcionado es nulo.

Veamos ahora un ejemplo práctico que usa la palabra clave NOT NULL para eliminar todos los valores de columna que tienen valores nulos.

Continuando con el ejemplo anterior, supongamos que necesitamos detalles de los miembros cuyo número de contacto no es nulo. Podemos ejecutar una consulta como

La ejecución de la consulta anterior solo proporciona registros donde el número de contacto no es nulo.

Supongamos que queremos registros de miembros donde el número de contacto es nulo. Podemos usar la siguiente consulta

La ejecución de la consulta anterior proporciona detalles de miembro cuyo número de contacto es NULL

número de socio nombres completos género fecha de nacimiento dirección física direccion postal número de contacto correo electrónico
1 Janet Jones Hembra 21-07-1980 Calle Primera Parcela No 4 Bolsa privada 0759 253 542 janetjones@yagoo.cm
3 Robert Phil Masculino 12-07-1989 3rd Street 34 NULO 12345 rm@tstreet.com
5 Leonard Hofstadter Masculino NULO Woodcrest NULO 845738767 NULO
6 Sheldon Cooper Masculino NULO Woodcrest NULO 976736763 NULO
7 Rajesh Koothrappali Masculino NULO Woodcrest NULO 938867763 NULO
8 Leslie Winkle Masculino 14-02-1984 Woodcrest NULO 987636553 NULO
9 Howard Wolowitz Masculino 24-08-1981 Parque del Sur PO Box 4563 987786553 lwolowitz [at] email.me

Comparar el valor nulo s

Lógica de tres valores : realizar operaciones booleanas en condiciones que impliquen NULL puede devolver “Desconocido”, “Verdadero” o “Falso”.

Por ejemplo, usar la palabra clave “IS NULL” cuando se realizan operaciones de comparación que involucran a NULL puede devolver verdadero o falso . El uso de otros operadores de comparación devuelve “Desconocido” (NULO).

Supongamos que compara el número cinco con 5

El resultado de la consulta es 1, lo que significa VERDADERO

5 = 5
1

Hagamos la misma operación con NULL

NULL = NULL
NULO

Veamos otro ejemplo

5> 5
0

El resultado de la consulta es 0, lo que significa FALSO

Veamos el mismo ejemplo usando NULL

NULL> NULL
NULO

Permite usar la palabra clave IS NULL

5 ES NULO
0

El resultado de la consulta es 0, que es FALSO

NULL ES NULO
1

El resultado de la consulta es 1, que es VERDADERO

Resumen

  • NULL es un marcador de posición de valor para campos de tabla opcionales.
  • MySQL trata el valor NULL de forma diferente a otros tipos de datos. Los valores NULL cuando se usan en una condición se evalúan como el valor booleano falso.
  • El funcionamiento lógico NOT se utiliza para probar valores booleanos y se evalúa como verdadero si el valor booleano es falso y falso si el valor booleano es verdadero.
  • La cláusula NOT NULL se usa para eliminar valores NULL de un conjunto de resultados
  • La realización de operaciones aritméticas en valores NULL siempre devuelve resultados NULL.
  • Los operadores de comparación como [, =, etc.] no se pueden usar para comparar valores NULL.
0 replies

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply

Your email address will not be published. Required fields are marked *