Databases
T01-007-01 Funciones aritméticas
Enunciado
A menudo, trabajar con valores
NULLes incómodo. La funciónNVL(expresión1, expresión2)nos permite asignar un valor distinto a los atributos de un registro cuyo valor seaNULL.Ejemplo:
La siguinete consulta muestra a los subordinados del empleado 149 junto con el departamento en el que están asignados. Si alguno de esos empleados no tiene un departamento asignado (es NULL) debe aparecer asignado al departamento 260 (Recruiting)
SELECT FIRST_NAME, LAST_NAME, DEPARTMENT_ID, NVL(DEPARTMENT_ID, 260)
FROM HR.employees
WHERE MANAGER_ID = 149
FIRST_NAME LAST_NAME DEPARTMENT_ID NVL(DEPARTMENT_ID,260) Ellen Abel 80 80 Alyssa Hutton 80 80 Jonathon Taylor 80 80 Jack Livingston 80 80 Kimberely Grant - 260 Charles Johnson 80 80 Ejercicio:
Muestra el nombre, apellidos, trabajo y el salario mensual al que se le han aplicado las comisiones y se ha redondeado hasta los céntimos. Si alguno de los trabajadores no tuviera comisión asignada, se le pondría un .5 (El único que no tiene asignada es un programador ;-))
Haz que se muestren únicamente aquellos registros cuyo nombre sea 'David'.
Finalmente, ordena el resultado, en primer lugar, descendentemente por el sueldo más las comisiones y, en caso de que ese resultado sea el mismo, alfabéticamente por el apellido
Tipo
Solución
SELECT FIRST_NAME, LAST_NAME, JOB_ID, ROUND((SALARY / 12) * (1 + NVL(COMMISSION_PCT,.5)), 2) AS "SUELDO + COMISIONES"
FROM HR.employees
WHERE FIRST_NAME = 'David'
ORDER BY "SUELDO + COMISIONES" DESC, LAST_NAME
Prueba
LibrerÃas (Onfly databases)

