Está en la página 1de 4

TRABAJO:

BASE DE DATOS

NOMBRE:
DIANA MILENA BALCERO PRIMO
40130

ANALISIS Y DESARROLLO DEL SISTEMA DE INFORMACION


SENA
BOGOTA D.C 2010

TALLER PRACTICA TERMINAL


UTILIZANDO TRANSACT-SQL

1. Restaurar la base de datos Terminal

2. Consultar por cada conductor código, nombre y edad. Únicamente


para conductores mayores de 50 años y cuyo nombre comience por
PARRA.

select co_codiconduc, co_nombconduc, (2010 - year (co_fechnaci))as Edad


from Conductores
where co_nombconduc like 'parra%' and (2010 - year (co_fechnaci)) > 50

3. Consultar por cada bus su placa, capacidad y el valor promedio de los


pasajes para los viajes realizados durante los últimos dos meses.

select bu_placa, bu_capacidad, avg (vi_valopasaj) as Prom_Pasajes,


MONTH(vi_fechviaje) as Mes
from Buses B inner join Viajes V on B.bu_placa = V.vi_placa
group by bu_placa, bu_capacidad, MONTH(vi_fechviaje)
order by MONTH(vi_fechviaje) desc

4. Realizar una consulta que nos permita conocer la placa del bus,
código de la flota, y número de pasajeros transportados en general es
decir, en todos los viajes que haya realizado. Únicamente para buses
cuya capacidad sea mayor de 45 pasajeros.

select bu_placa, bu_codiflot, SUM (vi_numepasajero)as Pasajeros


from Buses B inner join Viajes V on B.bu_placa = V.vi_placa
where bu_capacidad > 45
group by bu_placa, bu_codiflot

5. Consultar de cada conductor su nombre, dirección, total recaudado


en viajes y su pago. El pago es el 20% del valor recaudado en sus
viajes.

select co_nombconduc, co_direconduc, (vi_numepasajero * vi_valopasaj)as Recuado,


(((vi_numepasajero * vi_valopasaj)*20)/100) as Sueldo
from Conductores C inner join Viajes v on C.co_codiconduc = v.vi_codiconduc
group by co_nombconduc, co_direconduc,(vi_numepasajero * vi_valopasaj),
(((vi_numepasajero * vi_valopasaj)*20)/100)
6. Realizar una consulta que permita mostrar código de la flota,
descripción de la flota. Solo par aquellas flotas cuya descripción sea
“BRASILIA”.

select fl_codiflot, fl_nombflot


from Flotas
where fl_codiflot like 'brasilia%'

7. Realizar una consulta que permita mostrar el Código del conductor,


nombre del conductor, fecha de nacimiento, dirección, teléfono. Solo
para aquellos conductores cuya fecha de nacimiento sea el mes de
enero.

select * from Conductores


where (MONTH(co_fechnaci))= 01

8. Consultar por cada conductor nombre del conductor, placa del bus y
valor recaudado en pagos el día 3 de enero de 2006.

select co_nombconduc, vi_placa, SUM (vi_valopasaj) as Recaudo, vi_fechviaje


from Conductores C inner join Viajes v on C.co_codiconduc = v.vi_codiconduc
where MONTH( vi_fechviaje) = 03 and DAY(vi_fechviaje)= 06 and YEAR(vi_fechviaje)
= 2006
group by co_nombconduc, vi_placa, vi_fechviaje

9. Consultar la placa de cada bus, número de pasajeros que llevan en


cada vuelta. Organizarlo por tipo de bus.

select bu_placa, vi_numepasajero, bu_tipo


from Buses B inner join Viajes V on B.bu_placa = V.vi_placa
order by bu_tipo

10. Consultar la placa del bus, que más viaje haya hecho durante el mes
anterior.

select bu_placa, vi_numrecorr, vi_fechviaje


from Buses B inner join Viajes V on B.bu_placa = V.vi_placa
where MONTH(vi_fechviaje) = 02
order by vi_numrecorr desc
11. Consultar el nombre de cada conductor, la placa del bus. Solo para
aquellos conductores cuyo nombre comience con la letra "P".

select co_nombconduc, vi_placa


from Conductores C inner join Viajes v on C.co_codiconduc = v.vi_codiconduc
where co_nombconduc like 'p%'
group by co_nombconduc, vi_placa

12. Realizar una consulta que muestre el código de la ruta, descripción


de la ruta y total recaudado en pasajes.

select ru_codiruta, ru_nombruta, sum(ru_valopasaj * vi_numepasajero) as Recaudo


from Rutas R inner join Viajes V on R.ru_codiruta = V.vi_codiruta
group by ru_codiruta, ru_nombruta

También podría gustarte