Bases De Datos
Enviado por jorgeart28 • 3 de Diciembre de 2013 • 755 Palabras (4 Páginas) • 998 Visitas
DADO EL SIGUIENTE ESQUEMA:
CENTROS (Numero, Nombre, Direccion)
DEPARTAMENTOS (Numero, Centro, Director, Tipo_director, Presuesto, Depto_jefe, Nombre)
EMPLEADOS (Cod, Departamento, Telefono, Fecha_nacimiento, Fecha_ingreso, Salario, Comision, Num_hijos, Nombre)
Nota: El atributo Tipo_director puede ser ‘F’ o ‘T’ (en funciones o titular).
1. Hallar la comisión, el nombre y el salario de los empleados con más de tres hijos, ordenados por comisión y, dentro de
comisión, alfabéticamente.
SELECT comision, nombre, salario
FROM empleados
WHERE num_hijos>3
ORDER BY comision;
2. Obtener los nombres de los departamentos que no dependen de otros.
SELECT nombre
FROM DEPARTAMENTOS
WHERE Tipo_director =t;
3. Obtener, por orden alfabético, los nombres y los salarios de los empleados cuyo salario esté comprendido entre 12500 y
13000 pesos.
SELECT nombre, salario
FROM DEPARTAMENTOS
WHERE salario > 12500 AND salario < 13000
ORDER BY nombre;
4. Datos de los empleados que cumplen la condición anterior o tienen al menos un hijo.
SELECT Cod, Departamento, Telefono, Fecha_nacimiento, Fecha_ingreso, Salario, Comision, Num_hijos, Nombre
FROM empleados
WHERE salario > 12500 AND salario < 13000 , OR Num_hijos >1;
5. Muestre para cada empleado el número de meses que lleva el empleado en la empresa junto con su nombre.
SELECT nombre, Fecha_ingreso
FROM empleados;
6. Calcule aquellos empleados que llevan más de 35 años en la empresa. Muestre todos los datos de cada uno de ellos.
SELECT Cod, Departamento, Telefono, Fecha_nacimiento, Fecha_ingreso, Salario, Comision, Num_hijos, Nombre
FROM empleados
WHERE
7. Hallar, por orden alfabético, los nombres de los empleados tales que si se les da una gratificación de 100 pesos por hijo, el
total de esta gratificación no supera la centésima parte del salario.
SELECT nombre
FROM DEPARTAMENTOS
WHERE
ORDER BY nombre;
8. 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 13000 pesos mensuales.
SELECT nombre, salario
FROM DEPARTAMENTOS
WHERE (salario+comision)>13000
ORDER BY cod;
9. Obtener, por orden alfabético, los nombres de los departamentos que no contengan la palabra 'Dirección' ni 'Sector'.
SELECT nombre,
FROM DEPARTAMENTOS
WHERE Nomde<>’Direccion’ and Nomde<>’Sector’
ORDER BY nombre;
10. Hallar, para cada departamento, el salario medio, el mínimo y el máximo.
SELECT AVG(SALARIO),MIN(SALAR),MAX(SALAR)
FROM EMPLEADOS
GROUP BY DEPARTAMENTOS.
11. Agrupando por departamento y número de hijos, hallar cuántos empleados hay en cada grupo.
SELECT DEPARTAMENTO, Num_hijos, COUNT(*)
FROM EMPLEADOS
GROUP BY DEPARTAMENTO, Num_hijos
ORDER BY DEPARTAMENTO, Num_hijos;
12. Para cada extensión telefónica, hallar cuántos empleados la usan y el salario medio de éstos.
SELECT count(Cod),avg(salario)
FROM empleados
group BY salario
ORDER BY cod ;
13. Para los departamentos en los que hay algún empleado cuyo salario sea superior a 40000 pesos mensuales, hallar el número
de empleados y la suma
...