Está en la página 1de 2

BASE DE DATOS EXAMEN PARCIAL 2

Wong Leon, Eduardo

--1.marca sea hyundai, ordenados por nombre de propietario


select * from vehiculo where modelo like upper('hyundai') order by 2;
--2.Muestre todos los propietarios cuyo nombre empiece con C que
tengan un auto color Azul y sean de la marca NISSAN
select * from vehiculo where nompro like 'C%' and color like
upper('azul') and modelo like upper('nissan');
-- 4.- Mostrar las papeletas impuestas del Policía con código P001 y
del año 2020
select * from papeleta where upper(idpol) like 'P001' and
to_char(papfecha,'YYYY')='2020';
--5.- Todas las papeletas impuestas del año 2019 y cuyos meses estén
comprendidas entre mayo y octubre
select * from papeleta where to_char(papfecha,'YYYY')=2019 and
to_char(papfecha,'MM') between 5 and 10;
--6.- Mostrar las cantidades de papeletas y el total monto por cada
mes, respecto al año 2019
SELECT NROPLA,TO_CHAR(PAPFECHA,'MONTH'),COUNT(*)"CANTIDAD DE
PAPELETAS" FROM PAPELETA
WHERE TO_CHAR(PAPFECHA,'YYYY')=2019 GROUP BY
NROPLA,TO_CHAR(PAPFECHA,'MONTH');
--7.-La cantidad de papeletas impuestas por cada motivo de Infracción
select infdes, count(*) "Nro. Papeletas"
from papeleta join infraccion using (infcod) group by infdes;
--8.- Cantidad de papeletas y el total de papeletas que debe pagar
cada propietario
select nompro, count(*) "Nro. Papeletas", sum(infimp)
from papeleta join infraccion using (infcod) join vehiculo using
(nropla) group by nompro;
--9.- Repita la pregunta anterior pero mostrando los 5 propietarios
con mayor papeleta.
select * from (select nompro, count(*) "Nro. Papeletas", sum(infimp)
from papeleta join infraccion using (infcod) join vehiculo using
(nropla) group by nompro order by 3 desc) where rownum <=5;
--11.- cantidad de papeletas impuestas por cada año y el total multa
select to_char(papfecha,'yyyy') "año", count(*) "cantidad",sum(infimp)
from papeleta join infraccion using(infcod) group by
to_char(papfecha,'yyyy');
--12.-La cantidad de papeletas impuestas por cada policía que sean
mayores a 5
select nompol, count(*) "Nro. Papeletas" from papeleta join policia
using (idpol) group by nompol having count(*)>5 order by nompol;
--13.- Crear Una Tabla De Pagos Con Los Campos Nropap, Placa,
Propietario
create table pagos as select nropap, nropla, nompro from vehiculo join
papeleta using (nropla);
--14.- a la pregunta anterior agregar un campo descuento y total ,
estos dos últimos calcularlos ,
--el descuento se aplica para 2019 es 8% entre el mes de enero y mayo,
para junio a setiembre es 9% y para el resto de meses es 10% respecto
al importe de multa infimp.
alter table pagos add descuento numeric (8,1);
alter table pagos add total numeric (8,1);
update pagos set descuento = case when papfecha between to_date
('01/01/2019','DD/MM/YYYY') and to_date ('30/05/2019','DD/MM/YYYY')
then infraccion.infimp*0.08;

También podría gustarte