Databases
T01-006-07 Operador de valores NULL
Enunciado
En una base de datos relacional, cada atributo puede tener, como máximo, 1 valor por cada registro, aunque se permite que algunos atributos no tenga ningún valor, probablemente, porque dicho valor se desconocía en el momento de insertar el registro.
Por ejemplo, en la tabla employees del esquema
HRtenemos varios atributos en los que el desconocimiento de su valor no impide el almacenamiento de un registro, en este caso de un empleado. Esos atributos que pueden quedar vacíos son los que se muestran en la siguiente tabla como 'nullables'.
Column Type Length Nullable EMPLOYEE_ID NUMBER 22 No FIRST_NAME VARCHAR2 20 Yes LAST_NAME VARCHAR2 25 No VARCHAR2 25 No PHONE_NUMBER VARCHAR2 20 Yes HIRE_DATE DATE 7 No JOB_ID VARCHAR2 10 No SALARY NUMBER 22 Yes COMMISSION_PCT NUMBER 22 Yes MANAGER_ID NUMBER 22 Yes DEPARTMENT_ID NUMBER 22 Yes Para comprobar si un atributo tiene el valor
NULL,no utilizamos el operador =, sino que debemos escribirIS NULL.Ejemplo:
En el esquema HR todos los empleados tienen algún jefe, identificado por el atributo MANAGER_ID, excepto el director general que no tiene asociado ningún valor en el atributo MANAGER_ID.
Sabiendo esto, ¿quién es el Director General según el esquema HR?
SELECT FIRST_NAME, LAST_NAME, MANAGER_ID
FROM HR.employees
WHERE MANAGER_ID IS NULL
FIRST_NAME LAST_NAME MANAGER_ID Steven King - Ejercicio:
¿Qué empleada, que tiene como MANAGER_ID el 149 no tiene asignado ningún departamento?
Tipo
Solución
SELECT FIRST_NAME, LAST_NAME, MANAGER_ID, DEPARTMENT_ID
FROM HR.employees
WHERE MANAGER_ID = 149 AND DEPARTMENT_ID IS NULL
Prueba
LibrerÃas (Onfly databases)

