Base de Datos Empleados
Para crear esta base de datos con datos de ejemplo, descomprima el archivo “employees_db.zip” y ejecute desde línea de comandos: mysql – u root -p -t
Ejercicios consultas SQL
1. Obtener el salario máximo actualmente
2. Obtener el salario máximo a fecha 1/1/2005.
3. Obtener nombre de empleado y sueldo actualmente.
4. Obtener elsueldo medio por genero
5. Obtener nombre de empleado, sueldo y cargo (title) actualmente
6. Obtener nombre de empleado, sueldo y cargo (title) a fecha 1/1/2005.
7. Obtener el sueldo medio porcargo ordenado de mayor a menor en la actualidad
8. Obtener el nombre de departamento y su manager a 1/1/2005
9. Obtener el número de empleados por departamento y cargo (title) en laactualidad
10. Obtener el número de empleados por departamento a 1/1/2005
11. Obtener todos los departamentos y cargo con más empleados que el departamento d001 en la actualidad
12. Obtener id dedepartamento, cargo (title) y nombre de empleados actualmente.
13. Obtener departamento, cargo (title), nombre de empleado y sueldo actualmente.
Solución:
1. Obtener el salario máximoactualmente
select emp_no, salary, from_date, to_date
from salaries
where to_date = "9999/1/1"
order by salary desc
limit 1;
Observar que la siguiente consulta es errónea, devolviendo unemp_no incorrecto para el sueldo
select emp_no, max(salary)
from salaries
where to_date=”9999/1/1”;
2. Obtener el salario máximo en el año 2000.
select salary, emp_no, from_date,to_date
from salaries
where to_date >= "2000/1/1" and from_date = salaries.from_date and
titles.from_date = dept_emp.from_date and
x.from_date (
select count(*)
from titlesinner join employees on (titles.emp_no = employees.emp_no)
inner join dept_emp on (dept_emp.emp_no = employees.emp_no)
where titles.to_date >= dept_emp.from_date and
titles.from_date
Regístrate para leer el documento completo.