Practica De Base De Datos En SQL
katydrums18 de Agosto de 2011
368 Palabras (2 Páginas)1.166 Visitas
PRACTICA de base de datos en sql
Realice las consultas correspondientes de la siguiente base de datos:
Para direccionar al esquema
set search_path to "Practica2";
a) Nombres de los empleados del departamento 5 que trabajan más de 10 horas en el proyecto del producto X
select nombree from
(select * from "Practica2".empleado join
( select * from "Practica2".trabaja_en join
(select * from "Practica2".proyecto where nombrep='productox') as x
on nump=numerop) as y
on nsse=nss)as z
where horas>10 and numd='5';
--*********************************************************************************************
b) Nombres de empleados que tienen un subordinado con el mismo nombre
select nombree, apellido from
(select * from "Practica2".empleado join "Practica2".dependiente on nsse=nss)as z
where nombree=nombre_dependiente;
--*********************************************************************************************
c) Nombres de empleados supervisados por Federico Vizcarra
select a.nombree from
(select * from "Practica2".empleado) as a join
(select * from "Practica2".empleado where nombree='federico'
and apellido='vizcarra')as x
on a.nsssuper=x.nss;
--*********************************************************************************************
d) Por proyecto enumere su nombre y número total de horas semanales (de todos los empleados) dedicadas al mismo
select sum(horas) from
(select * from "Practica2".empleado join
( select * from "Practica2".trabaja_en join
"Practica2".proyecto on nump=numerop) as y
on nsse=nss)as z
where nombrep='productox';
--*********************************************************************************************
e) nombre de empleados que no trabajan en cada proyecto
select nombree from(
select nombree, nss from "Practica2".empleado as a except
select nombree, nss from (select * from "Practica2".empleado join
( select * from "Practica2".trabaja_en join
"Practica2".proyecto on nump=numerop) as y
on nsse=nss)as z
where nombrep='productox') as b;
--*********************************************************************************************
f) Empleados q no trabajan en ningún proyecto
select nombree,apellido,nss from "Practica2".empleado except
select nombree,apellido,nss from "Practica2".empleado
join "Practica2".trabaja_en on nss=nsse;
--*********************************************************************************************
g) Por departamento recupere el salario promedio de empleados q trabajan en el
select avg(salario) from
(select * from "Practica2".empleado join
(select * from "Practica2".departamento where numerod = '5') as x
on nd=numerod) as y;
--*********************************************************************************************
h) Salario promedio de todas las empleadas
select avg(salario) from "Practica2".empleado where sexo='f';
--*********************************************************************************************
i) Nombres y direcciones de empleados que trabajan en al menos un proyecto localizado
...