Practica SQL

PRACTICA SQL create database Percy use Percy create table Proyectos ( CodP varchar(3)not null primary key, Descrip varc

Views 116 Downloads 3 File size 357KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

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 insert insert insert insert

into into into into into

Proyectos Proyectos Proyectos Proyectos Proyectos

insert insert insert insert

into into into into

Maquinas Maquinas Maquinas Maquinas

insert insert insert insert insert insert

into into into into into into

Conductores Conductores Conductores Conductores Conductores Conductores

insert insert insert insert insert insert insert insert insert insert insert insert

into into into into into into into into into into into into

Trabajos Trabajos Trabajos Trabajos Trabajos Trabajos Trabajos Trabajos Trabajos Trabajos Trabajos Trabajos

select select select select

* * * *

from from from from

values values values values values

('P01','Garaje','Arganda','Felipe Sol',600111111) ('P02','Soldado','Rivas','José Perez',912222222) ('P03','Garaje','Arganda','Rosa López',666999666) ('P04','Techado','Leoches','José Perez',913333333) ('P05','Buhardilla','Rivas','Ana Botijo',null)

values('M01','Excavadora',15000) values('M02','Hormigonera',10000) values('M03','Volquete',11000) values('M04','Apisonadora',18000) values('C01','José Sánchez','Arganda',18) values('C02','Manuel Díaz','Arganda',15) values('C03','Juan Pérez ','Rivas',20) values('C04 ','Luis Ortiz','Arganda',18) values('C05','Javier Martín','Loeches',12) values('C06','Carmen Pérez','Rivas',15)

values values values values values values values values values values values values

Proyectos Maquinas Conductores Trabajos

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

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'

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

--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'

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

--6. Obtener los conductores que trabajan en los proyectos de José Pérez. select distinct Conductores.Nombre from Conductores, Proyectos, Trabajos where Proyectos.CodP = Trabajos.CodP and Conductores.CodC = Trabajos.CodC and Proyectos.Cliente = 'José Perez'

--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 Pérez 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 '%Pérez%' and Proyectos.Localidad Conductores.Localidad

--9. Obtener el nombre de los conductores y la localidad del proyecto, para aquellos conductores que hayan trabajado con máquinas 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