Sunteți pe pagina 1din 8

PRACTICA SQL

create database Percy


use Percy

create table Proyectos
(
CodP varchar(3)not null primary key,
Descrip varchar(15),
Localidad varchar(15),
Cliente varchar(15),
Telefono int null ,
)
drop table Proyectos

create table Maquinas
(
CodM varchar(3) not null primary key,
Nombre varchar(15),
PrecioHora int,
)
drop table Maquinas

create table Conductores
(
CodC varchar(3) not null primary key,
Nombre varchar(15),
Localidad varchar(15),
Categ int,
)
drop table Conductores


create table Trabajos
(
CodC varchar(3) foreign key references Conductores,
CodM varchar(3) foreign key references Maquinas,
CodP varchar(3) foreign key references Proyectos,
Fecha datetime,
Tiempo int null,
)
drop table Trabajos

insert into Proyectos values ('P01','Garaje','Arganda','Felipe Sol',600111111)
insert into Proyectos values ('P02','Soldado','Rivas','Jos Perez',912222222)
insert into Proyectos values ('P03','Garaje','Arganda','Rosa Lpez',666999666)
insert into Proyectos values ('P04','Techado','Leoches','Jos Perez',913333333)
insert into Proyectos values ('P05','Buhardilla','Rivas','Ana Botijo',null)

insert into Maquinas values('M01','Excavadora',15000)
insert into Maquinas values('M02','Hormigonera',10000)
insert into Maquinas values('M03','Volquete',11000)
insert into Maquinas values('M04','Apisonadora',18000)

insert into Conductores values('C01','Jos Snchez','Arganda',18)
insert into Conductores values('C02','Manuel Daz','Arganda',15)
insert into Conductores values('C03','Juan Prez ','Rivas',20)
insert into Conductores values('C04 ','Luis Ortiz','Arganda',18)
insert into Conductores values('C05','Javier Martn','Loeches',12)
insert into Conductores values('C06','Carmen Prez','Rivas',15)

insert into Trabajos values ('C02','M03','P01','10/09/02',100)
insert into Trabajos values ('C03','M01','P02','10/09/02',200)
insert into Trabajos values ('C05','M03','P02','10/09/02',150)
insert into Trabajos values ('C04','M03','P02','10/09/02',90)
insert into Trabajos values ('C01','M02','P02','12/09/02',120)
insert into Trabajos values ('C02','M03','P03','13/09/02',30)
insert into Trabajos values ('C03','M01','P04','15/09/02',300)
insert into Trabajos values ('C02','M03','P02','15/09/02',null)
insert into Trabajos values ('C01','M03','P04','15/09/02',180)
insert into Trabajos values ('C05','M03','P04','15/09/02',90)
insert into Trabajos values ('C01','M02','P04','17/09/02',null)
insert into Trabajos values ('C02','M03','P01','18/09/02',null)

select * from Proyectos
select * from Maquinas
select * from Conductores
select * from Trabajos














TABLA Proyectos



TABLA Maquinas



TABLA Conductores










TABLA Trabajos




--1. Obtener el nombre de los conductores con categoria 15.


select Nombre
from Conductores
where Categ = 15



--2. Obtener la descripcion de los proyectos en los que se haya realizado trabajos
durante los dias 11 al 15 de septiembre de 2002.

select distinct Descrip
from Proyectos, Trabajos
where Proyectos.CodP = Trabajos.CodP
and fecha between '11/sep/02' and '15/sep/02'



--3. Obtener el nombre de los conductores que hayan trabajado con una Hormigonera,
ordenados descendentemente.

select distinct Conductores.Nombre
from Conductores, Maquinas, Trabajos
where Conductores.CodC = Trabajos.CodC
and Maquinas.CodM = Trabajos.CodM
and Maquinas.Nombre = 'Hormigonera'
order by Conductores.Nombre desc



--4. Obtener el nombre de los conductores que hayan trabajado con una Hormiguera en
proyectos de Arganda.

select distinct Conductores.Nombre
from Conductores, Maquinas, Proyectos,Trabajos
where Conductores.CodC = Trabajos.CodC
and Maquinas.CodM = Trabajos.CodM
and Proyectos.CodP = Trabajos.CodP
and Maquinas.Nombre ='Hormigonera'
and Proyectos.Localidad = 'Arganda'





--5. Obtener el nombre de los conductores y descripcion del proyecto, para aquellos
conductores que hayan trabajado con una Hormiguera en proyectos de Arganda durante
los dias 12 al 17 de Septiembre.

select Conductores.Nombre, Proyectos.Descrip
from Conductores, Maquinas, Trabajos, Proyectos
where Trabajos.Fecha= '12-sep-02' and '17-sep-02'
and Trabajos.CodC = Conductores.CodC
and Trabajos.CodM = Maquinas.CodM
and Trabajos.CodP = Proyectos.CodP
and Maquinas.Nombre = 'Hormigonera'
and Proyectos.Localidad = 'Arganda'




--6. Obtener los conductores que trabajan en los proyectos de Jos Prez.

select distinct Conductores.Nombre
from Conductores, Proyectos, Trabajos
where Proyectos.CodP = Trabajos.CodP
and Conductores.CodC = Trabajos.CodC
and Proyectos.Cliente = 'Jos Perez'

No se genera ningn resultado porque
no hay ningn conductor que haya
trabajado en Arganda con una
Hormigonera.
No se genera ningn resultado
porque no hay ningn conductor
que haya trabajado en Arganda
con una Hormigonera.


--7. Obtener todos los datos de los proyectos realizados en Rivas o que sean de un
cliente llamado Jos.

select *
from Proyectos
where Proyectos.Localidad = 'Rivas' or
Proyectos.cliente = 'Jose Perez'




--8. Obtener los empleados que tengan como apellido Prez y hayan trabajado en
proyectos de localidades diferentes a las suyas.

select conductores.*
from conductores, trabajos, proyectos
where Trabajos.CodP=Proyectos.CodP and
Trabajos.CodC=Conductores.CodC and
Conductores.Nombre like '%Prez%' and
Proyectos.Localidad <> Conductores.Localidad




--9. Obtener el nombre de los conductores y la localidad del proyecto, para
aquellos conductores que hayan trabajado con mquinas con precio hora comprendido
entre 10000 y 15000 ptas.

select distinct Conductores.Nombre,Proyectos.Localidad
from Proyectos,Maquinas,Conductores,Trabajos
where Trabajos.CodC=Conductores.CodC and
Trabajos.CodP=Proyectos.CodP and
Trabajos.CodM=Maquinas.CodM and
PrecioHora between 10000 and 15000

S-ar putea să vă placă și