Consultas sql

Solo disponible en BuenasTareas
  • Páginas : 5 (1106 palabras )
  • Descarga(s) : 0
  • Publicado : 15 de marzo de 2012
Leer documento completo
Vista previa del texto
1. Visualizar el número de empleados de cada departamento. Utilizar GROUP BY para agrupar por departamento. select dept_no,count(*) from emple group by dept_no; 2. Visualizar los departamentos con más de 5 empleados. Utilizar GROUP BY para agrupar por departamento y HAVING para establecer la condición sobre los grupos. select emple.dept_no,count(*) from emple,depart whereemple.dept_no=depart.dept_no group by emple.dept_no having count(*)>5; 3. Hallar la media de los salarios de cada departamento. Utilizar la función avg y GROUP BY. select emple.dept_no,round(avg(salario),2) from emple,depart where emple.dept_no=depart.dept_no group by emple.dept_no; 4.Visualizar el nombre de los empleados vendedores del departamento ʻVENTASʼ. (Nombre del departamento=ʼVENTASʼ, oficio=ʼVENDEDORʼ). selectapellido from emple,depart where emple.dept_no=depart.dept_no and dnombre='VENTAS' and oficio='VENDEDOR'; 5. Visualizar el número de vendedores del departamento ʻVENTASʼ. Utilizar la función COUNT sobre la consulta anterior. select count(*) from emple,depart where emple.dept_no=depart.dept_no and dnombre='VENTAS' and oficio='VENDEDOR'; 6. Visualizar los oficios de los empleados del departamentoʻVENTASʼ. select apellido,oficio from emple,depart where emple.dept_no=depart.dept_no and dnombre='VENTAS';

7. A partir de la tabla EMPLE, visualizar el número de empleados de cada departamento cuyo oficio sea ʻEMPLEADOʼ. Utilizar GROUP BY para agrupar por departamento. En la cláusula WHERE habrá que indicar que oficio es ʻEMPLEADOʼ. select emple.dept_no, count(*) from emple, depart whereemple.dept_no=depart.dept_no and oficio='EMPLEADO' group by emple.dept_no union select depart.dept_no, 0 from depart where dept_no not in (select dept_no from emple where oficio='EMPLEADO'); 8. Visualizar el departamento con más empleados. Create view numemppordept as select count(*) as numemp from emple group by dept_no; select * from depart where dept_no = (select dept_no from emple group by dept_nohaving count(*)=(select max(numemp) from numemppordept)); 9. Mostrar los departamentos cuya suma de salarios sea mayor que la media de salarios de todos los empleados. select dept_no,avg(salario) from emple group by dept_no having avg(salario)>(select avg(salario) from emple); 10. Para cada oficio obtener la suma de salarios. select oficio,sum(salario) from emple group by oficio; 11.VisualizarʻVENTASʼ. la suma de salarios de cada oficio del departamento

select oficio,sum(salario) from emple, depart where emple.dept_no=depart.dept_no and dnombre='VENTAS' group by oficio;

12. Visualizar el número de departamento que tenga más empleados cuyo oficio sea empleado. Create view numemplepordepart as select count(*) as num from emple where oficio='EMPLEADO' group by dept_no; select dept_nofrom emple where oficio='EMPLEADO' group by dept_no having count(*)=(select max(num) from numemplepordepart); 13. Mostrar el número de oficios distintos de cada departamento. select count(distinct oficio) from emple; 14. Mostrar los departamentos que tengan más de dos personas trabajando en la misma profesión. select dept_no, oficio, count(*) as num from emple group by dept_no,oficio havingcount(*)>2; 15. Dada la tabla HERRAMIENTAS, visualizar por cada estantería la suma de las unidades. select estanteria,sum(unidades) from herramientas group by estanteria; 16. Visualizar la estantería con más unidades de la tabla HERRAMIENTAS. Create view numherrporest as select sum(unidades) as numherr from herramientas group by estanteria; select estanteria,sum(unidades) from herramientas group byestanteria having sum(unidades)=(select max(numherr) from numherrporest); 17. Mostrar el número de médicos que pertenecen a cada hospital, ordenado por número descendente de hospital. select hospitales.nombre,count(*) from hospitales, medicos where hospitales.cod_hospi=medicos.cod_hospi group by hospitales.cod_hospi order by hospitales.cod_hospi desc;

18. Realizar una consulta en la que se...
tracking img