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: 2618
Solução:
Conforme vamos avançando nas soluções, podemos perceber que elas ficam maiores. Nessa eu precisei quebrar o SELECT em seis linhas, senão ficaria bem ruim de ler.
Neste exercício o importante era conseguir cobrir todas as condições, o que foi feito acumulando operadores lógicos AND. Para comparar com textos utilizei o filtro de comparação de padrões LIKE, mas poderia ter feito de outras formas, por exemplo, usando o operador de igualdade. As demais comparações eram necessárias para aplicar todas as restrições, garantindo que os ids são os mesmos nas tabelas em questão. Em caso de dúvidas sobre as condições de igualdade dos ids, sugiro leituras sobre chaves estrangeiras.
SELECT products.name, providers.name, categories.name FROM products, providers, categories WHERE products.id_providers = providers.id AND products.id_categories = categories.id AND providers.name LIKE 'Sansul SA' AND categories.name LIKE 'Imported';