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 [Link] = [Link]
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 [Link]
from Conductores, Maquinas, Trabajos
where [Link] = [Link]
and [Link] = [Link]
and [Link] = 'Hormigonera'
order by [Link] desc
--4. Obtener el nombre de los conductores que hayan trabajado con una Hormiguera en
proyectos de Arganda.
select distinct [Link]
from Conductores, Maquinas, Proyectos,Trabajos
where [Link] = [Link]
and [Link] = [Link]
and [Link] = [Link]
and [Link] ='Hormigonera'
and [Link] = '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 [Link], [Link]
from Conductores, Maquinas, Trabajos, Proyectos
where [Link]= '12-sep-02' and '17-sep-02'
and [Link] = [Link]
and [Link] = [Link]
and [Link] = [Link]
and [Link] = 'Hormigonera'
and [Link] = 'Arganda'
--6. Obtener los conductores que trabajan en los proyectos de Jos Prez.
select distinct [Link]
from Conductores, Proyectos, Trabajos
where [Link] = [Link]
and [Link] = [Link]
and [Link] = '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 [Link] = 'Rivas' or
[Link] = '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 [Link]=[Link] and
[Link]=[Link] and
[Link] like '%Prez%' and
[Link] <> [Link]
--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 [Link],[Link]
from Proyectos,Maquinas,Conductores,Trabajos
where [Link]=[Link] and
[Link]=[Link] and
[Link]=[Link] and
PrecioHora between 10000 and 15000