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 HR tenemos 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
EMAIL 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 escribir IS 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

SELECT

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)