Case futebol

Exercício com consultas em SQL.

diagrama_futebol

1. Mostrar o dobro da soma das idades dos jogadores que jogam no time ‘Univali’ ou no time ‘Computação’. Chame o valor retornado de ‘valor’.

R: SELECT idade * 2 AS valor FROM jogadores WHERE idtime IN (SELECT idtime FROM time WHERE nome = ‘Univali’ OR nome = ‘Computação’);

2. Mostrar o nome dos jogadores que jogam no time ‘Univali’ ou que jogam em times da cidade de ‘Navegantes’.

R: SELECT nome FROM jogadores WHERE idtime IN (SELECT idtime FROM time WHERE cidade = (SELECT idcidade FROM cidades WHERE nome = 'Navegantes') OR nome = 'Univali');

- SELECT nome FROM jogadores WHERE idtime IN (SELECT idtime FROM time WHERE cidade = (SELECT idcidade FROM cidades WHERE nome = 'Navegantes') OR idtime = (SELECT idtime FROM time WHERE nome = 'Univali');

3. Listar os times de ‘Santa Catarina’ e que possuem jogadores com idade de 18 anos.

R: SELECT * FROM time WHERE idtime IN (SELECT idtime FROM jogadores WHERE idade >= 18) AND cidade IN (SELECT idcidade FROM cidades WHERE idestado = (SELECT idestado FROM estados WHERE nome = 'Santa Catarina'));

4. Listar, em ordem alfabética, os jogadores com mais de 30 anos e que jogam em times do estado do ‘Paraná’.

R: SELECT * FROM time WHERE idtime IN (SELECT idtime FROM jogadores WHERE idade >= 30) AND cidade IN (SELECT idcidade FROM cidades WHERE idestado = (SELECT idestado FROM estados WHERE nome = 'Paraná')) ORDER BY nome;

5. Mostrar o número de jogos realizados esse ano com times da cidade de ‘Itajaí’.

R: SELECT COUNT(*) FROM jogos WHERE (idtime1 IN (SELECT idtime FROM time WHERE cidade = (SELECT idcidade FROM cidades WHERE nome = 'Itajaí')) OR idtime2 IN (SELECT idtime FROM time WHERE cidade = (SELECT idcidade FROM cidades WHERE nome = 'Itajaí'))) AND EXTRACT (year FROM data_2) = EXTRACT (year FROM now());

6. Listar ordenado pela idade, do mais velho para o mais novo, o nome e idade dos jogadores que atuam em times que possuem a letra ‘A’ no nome (tanto a letra A maiúscula quanto minúscula).

R: SELECT nome, idade FROM jogadores WHERE idtime IN (SELECT idtime FROM time WHERE UPPER(nome) LIKE '%A%') ORDER BY idade DESC;

7. Qual o(s) nome(s) do time com o(s) jogador(es) mais velho(s).

R: SELECT nome FROM time WHERE idtime IN (SELECT idtime FROM jogadores WHERE idade = (SELECT max(idade) FROM jogadores));

Share

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Esse site utiliza o Akismet para reduzir spam. Aprenda como seus dados de comentários são processados.