# Resolução PROVA DE PROJETO I
1. Inserir os registros abaixo - Bruno
* Inserir a motorista Marina Carvalho Barros, residente na Travessa Branca, 801, com CEP 44040-175 no bairro Lajeado em Feira de Santana na Bahia, nascida em 01/06/1973 com cpf 236.256.985-90, telefone 53986574856 e senha 12345. Ela possui um carro Palio da montadora Fiat com a placa XLD 3454, ano 2018, e chassi 9BW ZZZ377 VT 004251
* Resposta
insert into estado(idestado, nome) VALUES (1, 'Bahia');
insert into cidade(idcidade, nome, idestado) values (1, 'Feira de Santana', 1);
insert into endereco(idendereco, logradouro, numero, bairro, cep, idcidade) values (1, "Travessa Branca", "801", "Lageado", "44040-175", 1);
insert into montadora(idmontadora, nome) values (1, " Fiat" );
insert into modelo(idmodelo, nome, idmontadora) values (1, "Palio", 1 );
insert into usuario(idusuario, nome, cpf, telefone, senha, datanascimento, idendereco, idtipo)
values (1, 'Marina Carvalho Barros', '1234567891011', '53986574856', '12345', '1973-06-01', 1, 1);
insert into carro(idcarro, idmodelo, idusuario, ano, placa, chassi) values (1, 1, 1, '2018','XLD3454', '9BWZZZ377VT004251' );
* Inserir o passageiro Alex Dias Costa, residente na Travessa Paulo de Tarso Franco Rodrigues, 1188, com CEP 12906-790 no bairro centro em Bragança Paulista em São Paulo; nascido em 11/01/1985 com telefone 11986750934 e senha 123456. Ontem ele fez uma corrida com Marina Carvalho que começou as 9 horas da manhã e terminou as 10 custando sete reais e cinquenta centavos pagas no cartão de crédito.
* Resposta
insert into estado(idestado, nome) values (2, 'Sao Paulo');
insert into cidade(idcidade, nome, idestado) values (2, 'Bragança Paulista', 2);
insert into endereco(idendereco, logradouro, numero, bairro, cep, idcidade) values (2, "Travessa Paulo de Tarso Franco Rodrigues", "1188", "centro", " 12906-790", 2);
insert into usuario(idusuario, nome, cpf, telefone, senha, datanascimento, idendereco, idtipo) values (2, 'Alex Dias Costa', '1234567891011', '11986750934', '123456', '1985-01-11', 2, 2);
insert into corrida(idcorrida, idusario_motorista, idusuario_passageiro, data, hora_inicio, hora_termino, valor, idformapagamento) values (1, 1, 2, ADDDATE(NOW(), interval -1 day), '09:00:00', '10:00:00', 7.50, 1);
2. Listar a quantidade de corridas feitas pelo usuário de id 7 - Cristhian
* SELECT count(c.idusario_motorista) FROM usuario as u, corrida as c WHERE u.idusuario = c.idusario_motorista AND u.idusuario = 7;
* SELECT count(idusario_motorista) FROM corrida WHERE idusario_motorista=7;
3. Listar todas as corridas pagas com cartão de crédito e custaram entre 7 e 10 reais. - Érick
* SELECT * FROM corrida as c WHERE c.idformapagamento = 1 AND c.valor BETWEEN 7 AND 10;
* SELECT * FROM corrida as c WHERE c.idformapagamento=1 AND (c.valor>=7 AND c.valor<=10);
4. Listar todas as corridas feitas em carros da montadora Fiat no último mês - Gabriel
* SELECT * FROM corrida AS c, usuario AS u, carro AS ca, modelo AS m, montadora AS mo WHERE c.idusuario_motorista = u.idusuario AND u.idusuario=ca.idusuario AND ca.idmodelo = m.idmodelo AND m.idmontadora = mo.idmontadora AND mo.nome = "Fiat" AND MONTH(c.data) = MONTH(CURDATE())-1 AND YEAR(CURDATE()) = YEAR(c.data);
5. Apresentar a média de idade dos motoristas que fizeram corridas que custaram mais de 100 reais - Gabrielle
* SELECT AVG(idade) FROM (SELECT u.nome, TIMESTAMPDIFF(YEAR,u.datanascimento, now()) AS idade FROM usuario AS u, corrida AS c WHERE (u.idusuario = c.idusuario_motorista AND c.valor >100).
6. Apresentar os 10 motorista que mais lucraram no aplicativo (aqueles que possuem o maior montante de dinheiro em corridas) - Vinicius da Rocha
* SELECT u.nome, SUM(c.valor) FROM usuario as u, corrida as c WHERE u.idusuario = c.idusuario_motorista GROUP BY c.idusuario_motorista ORDER BY SUM(c.valor) LIMIT 10 DESC;
7. Apresentar o valor médio das corridas feitas no estado de São Paulo - Guilherme Amarilho
* SELECT AVG(c.valor) AS MediaValor FROM corrida AS c, usuario AS u, endereco AS en, cidade as ci, estado as e WHERE c.idusario_motorista=u.idusuario AND u.idendereco = en.idendereco AND en.idcidade = ci.idcidade AND ci.idestado = e.idestado AND e.nome = "São Paulo" GROUP BY e.idestado;
8. Substituir de Rua Alpender para Rua Alperneiros nos endereços dos usuários que foram do bairro de Santa Cruz da cidade Luzia (id 8) - Gustavo
* UPDATE endereco SET logradouro = replace(logradouro, 'Rua Alpender', 'Rua Alperneiros') WHERE endereco.bairro = 'Santa Cruz' AND endereco.idcidade = 8;
9. Aumentar uma hora, tanto no início quanto no término nas corridas que aconteceram entre 4/11/2018 e 16/02/2019 - Henrique
* UPDATE corrida SET hora_inicio = (DATE_ADD(hora_inicio, INTERVAL 1 HOUR)), hora_termino = (DATE_ADD(hora_termino, INTERVAL 1 HOUR)) WHERE DATE_FORMAT(data, '%Y-%m-%d')>='2018-11-04' AND DATE_FORMAT(data, '%Y-%m-%d')<='2019-02-16';
10. Alterar a forma de pagamento para Dinheiro de todas as corridas feitas na cidade de Videira (id 10) - João Pedro
* UPDATE corrida as co, usuario as u, endereco as e SET co.idformapagamento=3 WHERE co.idusuario_motorista=u.idusuario AND u.idendereco=e.idendereco AND e.idcidade=10;
11. Reduzir o valor em 20% das corridas feitas em carros com ano de fabricação inferior a 2014 - Julia
* UPDATE corrida AS c, usuario AS u, carro AS ca SET c.valor= valor-(valor*0.2) WHERE c.idusuario_motorista=u.idusuario AND u.idsuario=ca.idusuario AND ca.ano<2014;
12. Deletar a cidade do usuário de id 7 - Rafael Bressan
* DELETE c FROM usuario AS u, endereco AS e, cidade AS c WHERE u.idusuario=7 AND u.idendereco=e.idendereco AND e.idcidade=c.idcidade;
13. Deletar todas as corridas feitas por usuários menores de idade - Vinícius Cantu
* DELETE c FROM corrida AS c, usuario AS u WHERE c.idusuario_passageiro=u.idusuario AND TIMESTAMPDIFF(YEAR, u.datanascimento, now())>=18;