Valores NULOS de SQL

En SQL puede haber algunos registros en una tabla que no tengan valores o datos para cada campo. Esto podría ser posible porque en el momento de la entrada de datos la información no está disponible. Por lo tanto, SQL admite un valor especial conocido como NULL que se usa para representar los valores de los atributos que pueden ser desconocidos o que no se aplican a una tupla. SQL coloca un valor NULL en el campo en ausencia de un valor definido por el usuario. Por ejemplo, el atributo Apartment_number de una dirección se aplica solo a direcciones que se encuentran en edificios de apartamentos y no a otros tipos de residencias. 

Importancia del valor NULL:

  • Es importante comprender que un valor NULL es diferente de un valor cero.
  • Un valor NULL se usa para representar un valor faltante, pero generalmente tiene una de tres interpretaciones diferentes: 
    • El valor desconocido (el valor existe pero no se conoce)
    • Valor no disponible (existe pero se retiene deliberadamente)
    • Atributo no aplicable (no definido para esta tupla)
  • A menudo no es posible determinar cuál de los significados se pretende. Por lo tanto, SQL no distingue entre los diferentes significados de NULL.

Principios de los valores NULL:

  • Establecer un valor NULL es apropiado cuando se desconoce el valor real o cuando un valor no sería significativo.
  • Un valor NULL no es equivalente a un valor de CERO si el tipo de datos es un número y no es equivalente a espacios si el tipo de datos es un carácter.
  • Se puede insertar un valor NULL en columnas de cualquier tipo de datos.
  • Un valor NULL evaluará NULL en cualquier expresión.
  • Supongamos que si alguna columna tiene un valor NULL, SQL ignorará las restricciones UNIQUE, FOREIGN key, CHECK.

En general, cada valor NULL se considera diferente de cualquier otro NULL en la base de datos. Cuando un NULL está involucrado en una operación de comparación, el resultado se considera DESCONOCIDO. Por lo tanto, SQL usa una lógica de tres valores con valores True, False y Unknown. Por lo tanto, es necesario definir los resultados de las expresiones lógicas de tres valores cuando se utilizan los conectores lógicos AND, OR y NOT. 
 

¿Cómo probar valores NULL?

SQL permite consultas que verifican si un valor de atributo es NULL. En lugar de usar = o para comparar un valor de atributo con NULL, SQL usa IS y IS NOT . Esto se debe a que SQL considera que cada valor NULL es distinto de cualquier otro valor NULL, por lo que la comparación de igualdad no es adecuada. 

Ahora, considere la siguiente tabla de empleados, 

 

Supongamos que si encontramos el Fname, Lname del empleado que no tiene Super_ssn, la consulta será:

Consulta

SELECT Fname, Lname FROM Employee WHERE Super_ssn IS NULL;

Producción: 
 

Ahora, si encontramos el recuento de la cantidad de empleados que tienen Super_ssn. 

Consulta:
 

SELECT COUNT(*) AS Count FROM Employee WHERE Super_ssn IS NOT NULL;

Producción: 

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *