Databases

T01-007-06 Funciones de listas (opcional)

Enunciado

A continuación se muestran una tabla con funciones de listas.

Función

Descripción

GREATEST(valor1, valor2, ...) 

Obtiene el mayor valor de la lista

LEAST (valor1, valor2, ...) 

Obtiene el menor valor de la lista

La lista completa de funciones la podéis obtener de la documentación de Funciones de listas en Oracle.

Ejemplo:

La utilidad de las funciones de listas se podrá comprobar más adelante. De momento, tan solo compararemos estas funciones con las funciones MAX y MIN.

Tanto MAX como MIN comparan valores de la misma columna:

SELECT MAX(SALARY), MIN(SALARY)
FROM HR.employees

MAX(SALARY) MIN(SALARY)
24000 2100

En cambio, las funciones GREATEST y LEAST comparan valores de la misma fila.

SELECT GREATEST(MIN_SALARY, MAX_SALARY), LEAST(MIN_SALARY, MAX_SALARY)
FROM HR.jobs
WHERE JOB_TITLE = 'President'

GREATEST(MIN_SALARY,MAX_SALARY) LEAST(MIN_SALARY,MAX_SALARY)
40000 20080

Ejercicio:

Se ha establecido una comisión mínima del 30% (.3) para los empleados. Calcula el sueldo de los empleados cuyo trabajo es 'SA_MAN', teniendo en cuenta que la comisión que hay que aplicar al salario es el mayor valor entre; la comisión mínima establecida (.3) y el valor del atributo COMMISSION_PCT.

Ordena el resultado alfabéticamente por los apellidos.

Tipo

SELECT

Solución


												
SELECT FIRST_NAME, LAST_NAME, SALARY, COMMISSION_PCT, SALARY * (1 + GREATEST(COMMISSION_PCT, .3)) AS "COMISION MINIMA" FROM HR.employees WHERE JOB_ID = 'SA_MAN' ORDER BY LAST_NAME

Prueba


											

Librerías (Onfly databases)