sábado, 16 de agosto de 2014

Realización de consultas. Consultas más complejas.

Se dispone de las siguientes tablas con los siguientes datos.
TABLA EMPLE

TABLA DEPART.

1. Mostrar los datos de los empleados que pertenezcan al mismo departamento que ʻGILʼ.
select * from `emple` where dept_no=(select dept_no from `emple` where apellido='gil')
2. Mostrar los datos de los empleados que tengan el mismo oficio que ʻCEREZOʼ. El resultado debe ir ordenado por apellido.
select * from `emple` where oficio=(select oficio from emple where apellido = 'cerezo') order by apellido
3. Mostrar los empleados (nombre, oficio, salario y fecha de alta) que desempeñen el mismo oficio que ʻJIMÉNEZʼ o que tengan un salario mayor o igual que ʻFERNÁNDEZʼ.
select apellido, oficio, salario, fecha_alt from `emple` where oficio=(select oficio from emple where apellido = 'jimenez') or salario>=(select salario from emple where apellido= 'fernandez');
4. Mostrar en pantalla el apellido, oficio y salario de los empleados del departamento de ʻFERNÁNDEZʼ que tengan su mismo salario.
select apellido, oficio, salario from `emple` where dept_no =(select dept_no from emple where apellido = 'fernandez') and salario =(select salario from emple where apellido = 'fernandez');
5. Mostrar los datos de los empleados que tengan un salario mayor que ʻGILʼ y
que pertenezcan al departamento número 10.
select * from `emple` where salario > (select salario from emple where apellido = 'gil') and dept_no=10;
6. Mostrar los apellidos, oficios y localizaciones de los departamentos de los empleados que tengan el mismo oficio que gil.
select apellido, salario, dnombre, oficio from emple, depart where oficio = (select oficio from emple where apellido = 'gil');
7. Seleccionar el apellido, el oficio y la localidad de los departamentos donde trabajan los ANALISTAS.
Select apellido, Oficio, Loc from emple, depart where oficio=’analista’and emple.dept_no;
8. Seleccionar el apellido, el oficio y salario de los empleados que trabajan en Madrid.
Select apellido, oficio, salario from emple, depart where emple,dept_no=depart,dept_no and loc=’Madrid’;
9. Seleccionar el apellido, salario y localidad donde trabajan de los empleados que tengan un salario entre 200000 y 300000.
Select apellido, salario, loc from emple,depart where.dept_no=depart.dept_no and salario between 20000 and 30000;
10. Mostrar el apellido, salario y nombre del departamento de los empleados que tengan el mismo oficio que ʻGILʼ y que no tengan comisión.
select apellido, salario, loc from emple,depart where emple.dept_no=depart.dept_no and oficio=(select oficio from emple where apellido='Gil');
11. Mostrar los datos de los empleados que trabajan en el departamento de contabilidad, ordenados por apellidos.
select apellido, salario, dnombre from emple,depart where emple.dept_no=depart.dept_no and oficio=(select oficio from emple where apellido='Gil') and comisión is null;
12.Apellido de los empleados que trabajan en Sevilla y cuyo oficio sea analista o empleado.
select apellido from emple,depart where emple.dept_no=depart.dept_no and loc='Sevilla' and oficio in ('analista','empleado');
13.Calcula el salario medio de todos los empleados.
Select avg(salario) from emple;
14.¿Cuál es el máximo salario de los empleados del departamento 10?
Select max(salario) from emple where dept_no=10;
15.Calcula el salario mínimo de los empleados del departamento 'VENTAS'.
select min(salario) from emple,depart where dnombre='Ventas' and emple.dept_no=depart.dept_no;
16.Calcula el promedio del salario de los empleados del departamento de 'CONTABILIDAD'.
select avg(salario) from emple,depart where emple.dept_no=depart.dept_no and dnombre='Contabilidad';
17.Mostrar los datos de los empleados cuyo salario sea mayor que la media de todos los salarios.
Select * from emple where salario>(Select avg(salario) from emple);
18.¿Cuántos empleados hay en el departamento número 10?
Select count(*) from emple where dept_no=10;
19.¿Cuántos empleados hay en el departamento de 'VENTAS'?
Select count(*) from emple, depart where dnombre=’Ventas’;
20.Mostrar los apellidos del empleado que tiene el salario más bajo.
Select apellido from emple where salario=(Select max(salario) from emple;


No hay comentarios:

Publicar un comentario