Consultas en sql

Solo disponible en BuenasTareas
  • Páginas : 2 (380 palabras )
  • Descarga(s) : 0
  • Publicado : 16 de mayo de 2011
Leer documento completo
Vista previa del texto
Listar el promedio de los salarios (sal) y el número de empleados por departamento (deptno) y por cargo (job) cuando el total del salario sea mayor a 300 y el número de empleados mayor a 2, ordene lalista por número de empleados en forma descendente.
select avg(sal), count(e.empno),d.deptmo, e.job
from emp e, dept d
where e.deptmo=d.deptmo
group by d.deptmo,e.job
having count(d.deptmo)>2and sum(sal)>300
order by count(d.deptmo)desc

Listar el nombre (emane), el cargo (job) y el salario (sal) de aquellos empleados que no sean los empleados 75 o 79 y cuyo salario sea menor que todoslos promedios de salario de los departamentos que no sean el departamento de sistemas.
select ename, job, sal
from emp
where empno not in (75, 79) and sal>
(select avg(sal)
from emp e, dept dwhere e. deptmo=d.deptmo and d. deptmo not in(‘Sistemas’) )

Listar para cada departamento de la empresa: el nombre del departamento (dname), el nombre de la persona más joven (emane), su edad y elnombre de la persona (ename) con la mayor edad y su edad.
select d.dname ,(select e.ename from emp e where e.deptno=d.deptno and (year(getdate())- year(e.birthday))=(select max(year(getdate())-year(e.birthday)) from emp e where e.deptno=d.deptno) )as NombreViejo,
(select max(year(getdate())- year(e.birthday)) from emp e where e.deptno=d.deptno)as EdadViejo,
(select e.ename from emp e wheree.deptno=d.deptno and (year(getdate())- year(e.birthday))=(select min(year(getdate())- year(e.birthday)) from emp e where e.deptno=d.deptno) )as NombreViejo,
(select min(year(getdate())-year(e.birthday)) from emp e where e.deptno=d.deptno)as EdadJoven
from dept d;

Listar el nombre (emane), el cargo (job) y el salario (sal) de aquellos empleados cuya fecha de ingreso (hiredate) sea mayor o igualque la del empleado (empno) 70 y que su salario sea mayor o igual que cualquiera de los empleados 75, 79 y 78, ordene la lista por nombre de empleado en forma ascendente.
select ename,job,sal
from...
tracking img