Skip to content

Instantly share code, notes, and snippets.

@icarcal
Last active June 15, 2018 20:15
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save icarcal/c8ac0e5af569e5422d641e7e63dbdfaf to your computer and use it in GitHub Desktop.
Save icarcal/c8ac0e5af569e5422d641e7e63dbdfaf to your computer and use it in GitHub Desktop.
1. Exibir os pilotos que são do país Brasil.
select
a.*
from
tb_piloto a
inner join
tb_pais b
on
a.id_pais = b.id_pais
where
b.nm_pais = 'Brasil'
2. Exibir a quantidade de pilotos por país, somente dos países que tem mais de um piloto.
select
nm_pais,
count(id_piloto)
from
tb_piloto a
inner join
tb_pais b
on
a.id_pais = b.id_pais
group by
b.nm_pais
having
count(id_piloto) > 1
3. Exibir quais equipes são do mesmo país da equipe McLaren.
select
*
from
tb_equipe a
where
a.id_pais = (
select
id_pais
from
tb_equipe
where
nm_equipe = 'McLaren-Mercedes'
)
4. Exibir os autódromos (Circuitos) que são dos países: Brasil, Itália e Inglaterra.
select
a.*
from
tb_circuito a
inner join
tb_pais b
on
a.id_pais = b.id_pais
where
b.nm_pais in ('Brasil', 'Itália', 'Inglaterra')
5. Em que posição chegou o piloto Felipe Massa na prova realizada em 21/03/2013 e em que circuito.
select
a.nr_coloc_final,
d.nm_circuito
from
tb_resultado a
inner join
tb_piloto b
on
a.id_piloto = b.id_piloto
inner join
tb_prova c
on
a.id_prova = c.id_prova
inner join
tb_circuito d
on
c.id_circuito = d.id_circuito
where
b.nm_piloto = 'Felipe Massa'
and dt_prova = '2013-03-21'
6.Exibir a posição do grid, posição de chegada e o tempo de prova, do piloto Rubens Barrichello nas provas realizadas em 2013.
// NÃO EXISTE RUBENS BARRICHELLO NA BASE
select
a.nr_posicao_grid,
a.nr_coloc_final,
a.nr_tempo_prova
from
tb_resultado a
inner join
tb_piloto b
on
a.id_piloto = b.id_piloto
inner join
tb_prova c
on
a.id_prova = c.id_prova
where
b.nm_piloto = 'Felipe Massa'
/*b.nm_piloto = 'Rubens Barrichello'*/
and EXTRACT(YEAR FROM dt_prova) = '2013'
7. Exibir os campos: Nome do Piloto, Nome da Equipe, País de Nascimento, SuaColocação Final, Nome do Circuito e Data da Realização da Prova, da prova realizada no país da Malasia
select
b.nm_piloto,
c.nm_equipe,
g.nm_pais,
a.nr_coloc_final,
e.nm_circuito,
d.dt_prova
from
tb_resultado a
inner join
tb_piloto b
on
a.id_piloto = b.id_piloto
inner join
tb_equipe c
on
b.id_equipe = c.id_equipe
inner join
tb_prova d
on
a.id_prova = d.id_prova
inner join
tb_circuito e
on
d.id_circuito = e.id_circuito
inner join
tb_pais f
on
e.id_pais = f.id_pais
inner join
tb_pais g
on
b.id_pais = g.id_pais
where
f.nm_pais = 'Malásia'
8. Exibir a quantidade de pilotos por ano de nascimento, ordenado pelo ano de nascimento.
select
EXTRACT(YEAR from dt_nascimento),
count(id_piloto)
FROM
tb_piloto
group by
EXTRACT(YEAR from dt_nascimento)
order by
EXTRACT(YEAR from dt_nascimento)
9. Selecionar os pilotos que são da equipe Ferrari.
select
a.*
from
tb_piloto a
inner join
tb_equipe b
on
a.id_equipe = b.id_equipe
where
b.nm_equipe = 'Ferrari'
10. Mostre os países que irão ter provas em 2013.
select
c.*
from
tb_prova a
inner join
tb_circuito b
on
a.id_circuito = b.id_circuito
inner join
tb_pais c
on
b.id_pais = c.id_pais
where
EXTRACT(YEAR FROM dt_prova) = 2013
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment