1- Selecione os anos e a quantidade de abastecimentos, dos anos que tiveram mais de 1 abastecimento
select extract (year from data_abastecimento), count (id_abastecimento)
from abastecimento group by 1 having count(id_abastecimento) >1;
2- Selecione os nomes dos funcionários que realizaram mais de 2 abastecimentos
select nome from funcionario join abastecimento using(id_funcionario)
group by 1 having count(id_funcionario)> 2;
4- Selecione os combustíveis que foram abastecidos mais de 2 vezes
select tipo from abastecimento join combustivel using(id_combustivel) group by 1 having count(id_combustivel)> 2;
5- Selecione os anos, a quantidade abastecida, o valor abastecido, a quantidade de abastecimentos dos anos com faturamento superior as 120 reais
select extract (year from data_abastecimento)as ano,
sum(qtd_abastecida) as qtd_abastecida,
sum(valor) as faturamento, count (id_abastecimento) as quantidade_de_abastecimentos
from abastecimento join valor_abastecimento using (id_abastecimento) group by 1 having sum(valor)>120
7- Selecione os abastecimentos do Primeiro semestre, que o nome dos funcionários contenham a letra 'A', que os abastecimentos ocorreram nos anos de 2011,2010, 2009 e 2014, e que a placa dos carros contenham a letra 'C'
select a.* from funcionario f join abastecimento a using(id_funcionario)
join veiculo v using(id_veiculo) where v.placa like '%C%' and extract (year from a.data_abastecimento) in (2011,2010,2009,2014) and upper(f.nome) like '%A%'
and extract (month from a.data_abastecimento) between 1 and 6;
8-selecione os tipos de combustíveis que geraram mais de 200 reais de faturamento
select tipo from abastecimento join combustivel using(id_combustivel) join valor_abastecimento va
using(id_abastecimento) group by 1 having sum(va.valor)>200
Nenhum comentário:
Postar um comentário