Você está na página 1de 3

UNIVERSIDADE DO ESTADO DA BAHIA - UNEB

Docente: Daniela Barreto Araújo


Discente: Maiana Oliveira Gomes

Lista de exercícios SQL


(01-09)

1) Liste o renavam, a placa do veículo, data e nome do tipo de infracao das infrações que
ocorreram a partir do dia 01/04/2009.

SELECT veiculos.renavam, veiculos.placa, infracoes.datahora, tiposinfracoes.descricao


FROM veiculos
INNER JOIN infracoes ON veiculos.renavam = infracoes.renavam
INNER JOIN tiposinfracoes on tiposinfracoes.idtipoinfracao = infracoes.idtipoinfracao
WHERE datahora > '2009-03-31'
ORDER BY renavam ASC

2) Liste o renavam, a placa do veículo e data das infrações que ocorreram a partir do dia
01/04/2009 e tipo de infração igual a 5.

SELECT veiculos.renavam, veiculos.placa, infracoes.datahora


FROM veiculos
INNER JOIN infracoes ON veiculos.renavam = infracoes.renavam
WHERE infracoes.datahora >= '2009-04-01' AND infracoes.idtipoinfracao = 5

3) Liste o renavam, o nome do proprietário e data das infrações que ocorreram entre os
dias 01/03/2009 e 31/03/2009 e tipo de infração igual a 5

SELECT veiculos.renavam, proprietarios.nome, infracoes.datahora


FROM veiculos
INNER JOIN infracoes ON veiculos.renavam = infracoes.renavam
INNER JOIN proprietarios ON proprietarios.cpf = veiculos.cpf
WHERE infracoes.datahora
BETWEEN '2009-03-01' AND '2009-03-31' AND infracoes.idtipoinfracao = 5

4) Exiba placa, nome do modelo e a nome da cor dos veículos que a placa começa com
JRO.

SELECT veiculos.placa, modelos.nome AS Modelo , cores.nome AS Cor


FROM veiculos
INNER JOIN modelos ON modelos.idmodelo = veiculos.idmodelo
INNER JOIN cores ON cores.idcor = veiculos.idcor
WHERE veiculos.placa LIKE 'JRO%'
5) Exiba placa, nome do modelo e a nome da cor dos veículos que a placa tem o terceiro
dígito Z e termina com 9.

SELECT veiculos.placa, modelos.nome AS Modelo , cores.nome AS Cor


FROM veiculos
INNER JOIN modelos ON modelos.idmodelo = veiculos.idmodelo
INNER JOIN cores ON cores.idcor = veiculos.idcor
WHERE veiculos.placa LIKE '__Z%9'

6) Selecione nome da marca e nome do modelo, dos modelos que o código da marca seja
igual a 01, 05, 12, 25, 33 ou 42, ordenado por idmarca e nome do modelo.

SELECT modelos.nome, marcas.nome FROM modelos


INNER JOIN marcas ON modelos.idmarca = marcas.idmarca
WHERE modelos.idmodelo in (01, 05, 12, 25, 33, 42)
ORDER BY marcas.idmarca, modelos.nome

7) Mostre a quantidade de veículos por tipo de combustível para a categoria igual a


“automóvel”.

SELECT count(*) AS Veículos, veiculos_has_combustiveis.idcombustivel


FROM veiculos_has_combustiveis
INNER JOIN veiculos ON veiculos_has_combustiveis.renavam = veiculos.renavam
INNER JOIN categorias ON veiculos.idcategoria = categorias.idcategoria
WHERE categorias.nome = "automóvel"
GROUP BY veiculos_has_combustiveis.idcombustivel

8) Mostre a quantidade de veículos por tipo de combustível (exiba o nome do tipo de


combustível) para combustíveis cuja quantidade seja maior do que 10.

SELECT COUNT(*), combustiveis.nome


FROM veiculos_has_combustiveis
INNER JOIN combustiveis ON veiculos_has_combustiveis.idcombustivel =
combustiveis.idcombustivel
GROUP BY veiculos_has_combustiveis.idcombustivel
HAVING COUNT(*) > 10

9) Mostre a quantidade de infrações de cada tipo de infração (exiba o nome do tipo de


infração) ocorrida em 2009 somente para tipos de infrações que a quantidade seja maior
do que 5.

SELECT COUNT(*) AS Infrações , tiposinfracoes.descricao


FROM infracoes
INNER JOIN tiposinfracoes ON tiposinfracoes.idtipoinfracao = infracoes.idtipoinfracao
WHERE infracoes.datahora LIKE '2009%'
GROUP BY infracoes.idtipoinfracao
HAVING COUNT(*) > 5

Você também pode gostar