RSS

Consultas directas a una Base de Datos (FUNCIONES SQL)

15 Abr

Como usar las funciones sql para hacer consultas directas

1. Muestra el número de empleados que ganan más 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 más junto con su salario dando el formato siguiente:
‘El nombre del empleado que más gana es xxxx, y gana nnnnn’

select ‘El nombre del empleado que más 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 número 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 días.

select ename, round(sal/30,2)
from emp;

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

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 algún empleado cuyo nombre tiene más de cinco letras.

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

13. Muestra en minúsculas los nombres de los departamentos que tienen algún 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 año n.nnn y son las hh y nn minutos.’

select ‘Hoy es ‘||to_char(sysdate,’dd’)||’ del mes de ‘||to_char(sysdate,’month’)||’ del año ‘||
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 alfabético.

select min(ename)
from emp;

18. Muestra el número 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′,'<span=”” <span=”” class=”hiddenSpellError” pre=”span ” data-mce-bogus=”1″>class=”hiddenSpellError” pre=”span ” data-mce-bogus=”1″>class=”hiddenSpellError” pre=”span ” data-mce-bogus=”1″>class=”hiddenSpellError” pre=”span ” data-mce-bogus=”1″>class=”hiddenSpellError” pre=”” data-mce-bogus=”1″>dd/mm/yyyy’);

20. Muestra los empleados que llevan más de 6 años en la empresa.

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

 

Anuncios
 

Etiquetas:

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

 
A %d blogueros les gusta esto: