Documentos de Académico
Documentos de Profesional
Documentos de Cultura
=sueldo*1.2
where
sueldo
<(select
14. Nombre de los empleados con al menos dos hijos ordenados por
nombre.
Select e.nombre, e.apellido1, count(from empleados where (select COUNT(*)
from hijos where empleados.dni=dni)>=2 ORDER BY nombre;
17. Nombre y apellido de los empleados sin hijos ordenados por apellido
ascendente y por nombre descendente.
Select nombre AS NOMBRE_DESCENDENTE,apellido1 AS APELLIDO_ASCENDENTE
from empleados where NOT EXISTS (select * from hijos where
empleados.dni=hijos.dni) ORDER BY apellido1,nombre DESC;
nuestros
tiene
supervisor,
ordenados
por
salario
34.
La misma que la anterior pero slo aquellos proyectos que
tienen ms de 2 empleados.
SELECT p.numP, p.nombre, count(t.dni) as NUMEROEMPLEADOS from proyectos
p, trabajaen t where P.numP=t.nump group by p.numP having
NUMEROEMPLEADOS>=2;
40. Obtener los nuevos salarios que resultara de sumar a los empleados
del departamento 1 una gratificacin de 1000 unidades monetarias
(slo consultar sin actualizar).
select sueldo+1000 SALARIO_GRATIFICACION from empleados where numD =
00000001;
42. Encontrar a los empleados que ganan menos de la mitad del promedio
de todos los salarios, ordenados por salario ascendente.
Select
nombre,dni,sueldo
from
empleados
avg(sueldo)from empleados)order by sueldo;
where
sueldo<=(select
43. Encontrar a los empleados que ganan menos del 25% del sueldo
promedio de la compaa. Ordenarlos por salario descendente.
SELECT nombre as NOMBRE,sueldo as SUELDO
from empleados where
sueldo<=((select avg(sueldo) from empleados)*0.25) order by sueldo desc;
46. Obtener los datos de los empleados donde su nombre comienza con
a y su salario es mayor que 1000 o trabajan en el departamento 3.
SELECT * from empleados where (nombre like 'A%' && sueldo > 1000) OR (sueldo
<> 0 and sueldo is not null && numD =3);
asignado.
SELECT nombre, count(*) AS numProyectos FROM empleados E, trabajaen P
where E.dni= P.dni GROUP BY nombre UNION ALL SELECT nombre, 0 FROM
empleados E where not exists(select * from trabajaen where dni = E.dni);
56. Obtener para cada empleado el nmero de horas que trabaja en cada
proyecto, incluir el nombre del proyecto y el nombre del departamento
donde se desarrolla.
Select proyectos.nombre AS NOMBRE_DE_PROYECTO,nombreDept ,numH AS
HORAS_PROYECTO from proyectos,empleados,trabajaEn,departamentos where
empleados.dni=trabajaEn.dni AND proyectos.numP=trabajaEn.numP AND
proyectos.numDept=departamentos.numDept GROUP BY numH;
DESPUES
DELETE from EMPLEADOS where dni NOT IN (SELECT DISTINC hijos.dni FROM HIJOS);