Mais um exercício de SQL que divulgo a solução!
Antes de resolver qualquer problema de SQL do URI/BEECROWD, recomendamos seguir os seguintes passos:
- Ler todo enunciado do problema.
- Ler os tópicos do fórum em caso de dúvidas
- Preparar o esquema, conforme fornecido no problema. Obs.: muitas vezes o pessoal coloca o código de criação do esquema no fórum, então é só copiar!
Plataforma: URI (BEECROWD)
Problema: 2619
Neste exercício, de acordo com a especificação do problema, era necessário mostrar o nome dos produtos, o nome dos fornecedores e o preço dos produtos quando o preço fosse maior que 1000 e a categoria fosse "Super Luxury".
Não é muito diferente dos outros exercícios que já fizemos, a diferença é que, à medida que avançamos, as consultas vão ficando maiores. No entanto, esta solução não usa novidades, podemos resolvê-la com os mesmos operadores já utilizados em soluções anteriores.
Como as colunas de saída já foram informadas (nome dos fornecedores, nome e preço dos produtos), bastava selecionar estas colunas das respectivas tabelas. As restrições de igualdade de chaves precisaria ser testada (products.id_providers = providers.id e products.id_categories = categories.id era suficiente) e, além disso, verificar se o nome da categoria coincide com o padrão "Super Luxury" (aqui usei LIKE, mas poderia ser feito de outra forma) e preço superior a 1000. Pronto, era só fazer isso e já era possível obter o aceite.
E aí, achou fácil?
SELECT products.name, providers.name, products.price FROM products, providers, categories WHERE products.id_providers = providers.id AND products.id_categories = categories.id AND categories.name LIKE 'Super Luxury' AND price > 1000;
Nenhum comentário:
Postar um comentário