Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Expositor:
Willy Valladares
Julio 2016
Estructura
1 SQL Avanzado (BD2)
Filtrados: IN, ANY, SOME, ALL, Exists Pivoteo de Tablas: Pivot / unPivot
FUNCTION_NAME( argument,argument,… )
OVER
( Partition-Clause Order-by-Clause Windowing-Clause)
Funciones:
SUM COUNT AVG MIN MAX
Syntax: Windowing -Clause
[ROW or RANGE] <start_expr> BETWEEN AND <end_expr>
Ejemplo:
– ¿Cuáles son los diez productos más vendidos?
– ¿Cuáles son los diez productos menos vendidos?
1 2 3
Otra manera de escribir queries del tipo top-n es usar la función analítica
ROW_NUMBER. Esta se comporta de manera similar a la pseudocolumna
ROWNUM pero es mas flexible y posee mas capacidades.
Otra manera de escribir queries del tipo top-n es usar la función analítica
ROW_NUMBER. Esta se comporta de manera similar a la pseudocolumna
ROWNUM pero es mas flexible y posee mas capacidades.
select * from
(
select first_name, last_name, salary,
row_number()
over (order by salary desc) rn
from HR.empLOYEES
)
where rn <=3
order by salary desc
Existen 2
valores
iguales en
Expositor: Willy Valladares
salario..
Sesion 6 – SQL Avanzado
1 Funciones Analíticas: RANK, DENSE_RANK
Utilizamos la clausula
PARTITION, la cual parte el
resultado en un numero
determinado de grupos y luego
aplica las funciones analíticas a
cada grupo, reseteando el
contador a medida que pasa de
grupo a grupo
SELECT last_name,
LAG(last_name) OVER (ORDER BY last_name) Apellido_previo,
LEAD(last_name) OVER (ORDER BY last_name) Apellido_posterior
FROM HR.employees;
ORDER BY dbms_random.value )
SELECT *
FROM (SELECT a.*,
DBMS_RANDOM.VALUE
FROM HR.employees a
ORDER BY
DBMS_RANDOM.VALUE)
where ROWNUM < 5;
Al final podemos seleccionar cualquier mes sobre este calculo. Por ejemplo 201601.
Indicar los 25 deudores top del sistema financiero a nivel de Deuda Consumo (exp. En
Miles), indicando su nombre y banco.