Sei sulla pagina 1di 3

BOLETN DE FUNCIONES SQL

IES Gonzalo Nazareno 2ASI SGBD

1. Muestra el nmero de empleados que ganan ms de 1400.

select count(*)
from emp
where sal+nvl(comm,0)>1400;

2. Muestra el salario medio de los conserjes (job='CLERK').

Select avg(sal)
from emp
where job='CLERK';

3. Muestra el empleado que gana ms junto con su salario dando el formato siguiente:
'El nombre del empleado que ms gana es xxxx, y gana nnnnn'

select 'El nombre del empleado que ms gana es '||ename|| ', y gana '||sal as mensaje
from emp
where sal= (select max(sal)
from emp);

4. Muestra los nombres de los conserjes ordenados por salario.

select ename
from emp
where job='CLERK'
order by sal;

5. Muestra el gasto de personal total de la empresa, sumando salarios y comisiones.

select sum(sal+nvl(comm,0))
from emp;

6. Muestra un informe con los nombres de los empleados y su salario con el siguiente formato:

nombre1........ salario1

nombren.........salarion

select rpad(ename,12,'.'), sal


from emp
order by sal;

7. Muestra el nmero de trienios completos de cada empleado.

Select ename, trunc(months_between(sysdate, hiredate)/36) as trienios


from emp;
8. Muestra el total de dinero ganado por el empleado desde que se incorpor a la empresa
suponiendo que el salario no ha cambiado en todo ese tiempo.

Select ename, sal*(trunc(months_between(sysdate, hiredate)))


from emp;

9. Muestra con dos decimales el salario diario de cada trabajador suponiendo que los meses
tienen 30 das.

select ename, round(sal/30,2)


from emp;

10. Muestra los empleados que tengan en su nombre al menos dos As.

Select ename
from emp
where instr(ename,'A',1,2)<>0;

11. Muestra los empleados cuyo nombre empieza por una vocal.

select ename
from emp
where substr(ename, 1,1) in ('A','E','I','O','U') ;

12. Muestra los departamentos que tienen algn empleado cuyo nombre tiene ms de cinco
letras.

Select dname
from dept
where deptno in (select deptno
from emp
where length(ename)>5);

13. Muestra en minsculas los nombres de los departamentos que tienen algn empleado.

Select lower(dname)
from dept
where deptno in (select deptno
from emp);

14. Muestra un mensaje de saludo a cada empleado con el formato 'Hola nombreempleado'.

Select concat('Hola ',ename)


from emp;

15. Muestra el nombre de cada empleado junto con el nombre del mes en el que entr en la
empresa.

Select ename, to_char(hiredate,'month')


from emp;

16. Muestra la hora del sistema con el formato siguiente: 'Hoy es nn del mes de nombremes del
ao n.nnn y son las hh y nn minutos.'

select 'Hoy es '||to_char(sysdate,'dd')||' del mes de '||to_char(sysdate,'month')||' del ao '||


to_char(sysdate,'yyyy')||' y son las '||to_char(sysdate,'hh')||' y '||
to_char(sysdate,'mi')|| ' minutos'
from dual;

17. Muestra el nombre del primer empleado por orden alfabtico.

select min(ename)
from emp;

18. Muestra el nmero de jefes que hay en la empresa.

Select count(distinct(mgr))
from emp;

19. Muestra los empleados que fueron dados de alta entre el 01/03/1988 y el 30/06/1989.

select ename
from emp
where hiredate>to_date('01/03/1988','dd/mm/yyyy') and
hiredate<to_date('30/06/1989','dd/mm/yyyy');

20. Muestra los empleados que llevan ms de 6 aos en la empresa.

Select ename
from emp
where months_between(sysdate,hiredate)>72;

Potrebbero piacerti anche