¡GoConqr estrena diseño! Cuéntanos qué te parece.

Apuntes

Sin título

Millena Dias Portugués 1 página

Contenido del apunte (1)

Página 1

--Mostre o código do empregado, o código do departamento, o salário do empregado e o salário médio de todos os funcionários

--daquele departamento. Dica use a função AVG em conjunto com OVER (PARTITION BY)

select * from emp;

select empno, deptno, sal,

avg(sal) over (partition by deptno)

from emp;

-- Mostre o código do empregado, o nome do empregado, o cargo do empregado, o salário do empregado

-- e o salário listado na linha anterior e a diferença entre o salário e o salário da linha anterior.

-- Dica: use a função analítica LAG.

select empno, ename, job, sal,

lag(sal, 1, 0) over (order by sal) as sal_anterior,

sal - lag(sal, 1, 0) over (order by sal) as diferenca_sal

from emp;

-- Mostre o código do empregado, o nome do empregado, o cargo do empregado, o salário do empregado e o

-- salário listado na próxima linha e a diferença entre o salário e o salário da próxima linha.

-- Dica: use a função analítica LEAD.

select empno, ename, job, sal,

lead(sal,1) over (order by sal),

lead(sal,1) over (order by sal) - sal as diferenca_sal

from emp;

-- Mostre o código do empregado, o código do departamento, o salário do

-- empregado e o primeiro salário listado em cada departamento. Dica: use a

-- função analítica FIRST_VALUE

select empno, deptno, sal,

first_value(sal) over (partition by deptno order by sal asc) as primeiro_sal

from emp;

-- Mostre o código do empregado, o código do departamento, o salário do empregado, o salário do funcionário da linha anterior

-- e o salário do funcionário da próxima linha. Dica: Use as funções FIRST_VALUE e LAST_VALUE

select empno, deptno, sal,

lag(sal,1,null) over (partition by deptno order by sal) as anterior_sal,

lead(sal,1) over (partition by deptno order by sal) as primeiro_sal

from emp;

--Calcule, para cada empregado na tabela emp, o salário médio dos funcionários subordinados

-- ao mesmo gerente que foram contratados antes e depois do funcionário:

select empno, deptno,sal,

avg(sal) over ( partition by deptno order by sal ) as medio_sal ,

lag(sal,1,null) over (partition by deptno order by sal) as anterior_sal,

lead(sal,1) over (partition by deptno order by sal) as primeiro_sal

from emp;

--Determine a ordem em que funcionários se juntaram aos seus respectivos departamentos.

--Também inclua os funcionários que os precederam e os sucederam.

select * from emp;

select empno, ename, deptno, hiredate,

lag(hiredate,1,null) over (partition by deptno order by hiredate) as anterior_hiredate,

lead(hiredate,1) over (partition by deptno order by hiredate) as next_hiredate

from emp order by hiredate;

Información

Descripción
Apunte sobre Sin título, creado por Millena Dias el 19/08/2019.
Creado por
Millena Dias · ago 2019
Actualizado
19 ago 2019
Visitas
0
Valoración

Escríbenos

¿Sobre qué es tu mensaje?

¿Qué te parece el nuevo diseño?

¿Te gusta?