Practica De SQL
Enviado por katyliceth • 11 de Enero de 2015 • 1.049 Palabras (5 Páginas) • 749 Visitas
PRACTICA N°4: MODELAMIENTO Y SQL
REALIZAR LAS SIGUIENTES CONSULTAS
1. Hallar la comisión, el nombre y el salario de los empleados con más de tres hijos,
ordenados por comisión alfabéticamente.
select comision, nombre, salario
from empleados
where num_hijos >3
order by comision;
2. Obtener, por orden alfabético, los nombres y los salarios de los empleados cuyo
salario esté comprendido entre 1250 y 1300
select nombre , salario
from empleados
where( salario > 1250 and salario < 1300)
order by nombre , salario ;
3. Datos de los empleados que cumplen la condición anterior o tienen al menos un hijo.
select nombre , salario
from empleados
where( salario > 1250 and salario < 1300)
or (num_hijos >=1)
order by nombre;
4. Hallar, por orden alfabético, los nombres de los empleados tales que si se les da una
gratificación de 10 soles por hijo, el total de esta gratificación no supera la décima
parte del salario.
select nombre
from empleados
where (num_hijos*10 <= salario/10)
order by nombre;
5. Hallar, por orden de número de empleado, el nombre y el salario total (salario más
comisión) de los empleados cuyo salario total supera los 1300 soles mensuales.
SELECT CODIGO,NOMBRE,(SALARIO + COMISION) AS "SALARIO TOTAL"
FROM empleados
WHERE SALARIO + COMISION < 1300
ORDER BY NOMBRE;
6. Obtener, por orden alfabético, los nombres de los departamentos que no contengan la
palabra 'Dirección' ni 'Sector'.
select nombre
from departamentos
where nombre not like 'DIRECCION%'
and nombre not like 'SECTOR%'
7. Obtener, por orden alfabético, los nombres de los departamentos que, o bien tienen
directores en funciones y su presupuesto no excede los 5 mil soles.
select NOMBRE
from DEPARTAMENTOS
where TIPO_DIR='F' or PRESUPUESTO<5
order by NOMBRE;
8. Hallar el número de empleados de toda la empresa.
select count (*)
from empleados
9. Hallar cuántos departamentos existen y el presupuesto anual medio de la empresa
para el global de todos los departamentos.
select count(NUMERO), avg(PRESUPUESTO)
from DEPARTAMENTOS;
10. Hallar el número de empleados y de extensiones telefónicas distintas del
departamento 112.
select count(CODIGO), count(TELEFONO)
from DEPARTAMENTOS, EMPLEADOS
where DEPARTAMENTOS.NUMERO=EMPLEADOS.CODIGO
and NUMERO=112;
11. Datos de los empleados que trabajan en un centro con dirección en calle Atocha
(cualquier número y ciudad) y tienen dos hijos exactamente.
select EMPLEADOS.*
from EMPLEADOS, DEPARTAMENTOS, CENTROS
where EMPLEADOS.DPTO=DEPARTAMENTOS.NUMERO and DEPARTAMENTOS.CENTRO=CENTROS.NUM
and DIRECCION like '%ATOCHA%'
and NUM_HIJOS=2;
12. Extraiga los nombres de los empleados que trabajan en el mismo centro y tienen los
mismos ingresos como salario base. Visualizar también el salario.
13. Extraiga un listado donde aparezca el código de los departamentos y su nombre
conjuntamente con el código de los centros en donde están situados y el nombre de
estos centros.
SELECT DEPARTAMENTOS.NUMERO AS "CODIGO DEPARTAMENTOS", CENTROS.NUM AS "CODIGO CENTRO", DEPARTAMENTOS.NOMBRE AS "NOMBRE DEPARTAMENTO" , CENTROS.NOMBRE AS "NOMBRE CENTRO"
FROM DEPARTAMENTOS, CENTROS
WHERE DEPARTAMENTOS.CENTRO=CENTROS.NUM;
14. Hallar los siguientes datos para cada departamento, alias a las columnas que usen funciones.
a. Número de empleados.
select DEPARTAMENTOS.NOMBRE, COUNT(EMPLEADOS.CODIGO)
from DEPARTAMENTOS, EMPLEADOS
where EMPLEADOS.DPTO=DEPARTAMENTOS.NUMERO
group by DEPARTAMENTOS.NOMBRE;
b. Media de las comisiones
select DEPARTAMENTOS.NOMBRE, AVG(COMISION)
from EMPLEADOS, DEPARTAMENTOS
where EMPLEADOS.DPTO=DEPARTAMENTOS.NUMERO
group by DEPARTAMENTOS.NOMBRE;
c. Salario medio
select DEPARTAMENTOS.NOMBRE, AVG(SALARIO)
from EMPLEADOS, DEPARTAMENTOS
where EMPLEADOS.DPTO=DEPARTAMENTOS.NUMERO
group by DEPARTAMENTOS.NOMBRE;
d. Número de comisiones que hay distintas
select distinct DEPARTAMENTOS.NOMBRE, COUNT(COMISION)
from EMPLEADOS, DEPARTAMENTOS
where EMPLEADOS.DPTO=DEPARTAMENTOS.NUMERO
group by DEPARTAMENTOS.NOMBRE;
e. Salario máximo y mínimo
select DEPARTAMENTOS.NOMBRE, MAX(SALARIO), MIN(SALARIO)
from EMPLEADOS, DEPARTAMENTOS
where EMPLEADOS.DPTO=DEPARTAMENTOS.NUMERO
group by DEPARTAMENTOS.NOMBRE;
f. Media de las comisiones que hay distintas. Poner un alias a las columnas que usen funciones.
select distinct DEPARTAMENTOS.NOMBRE, avg(COMISION)
from EMPLEADOS, DEPARTAMENTOS
where EMPLEADOS.DPTO=DEPARTAMENTOS.NUMERO
group by DEPARTAMENTOS.NOMBRE;
15. Calcular el salario medio, el salario medio por hijo y la comisión media de aquellos
grupos de empleados
...