Seguimos com outra solução de exercício de SQL!
Antes de resolver qualquer problema de SQL do URI (agora 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: 2611
Solução:
Mais uma vez a solução aparece com quebras de linha só pra facilitar a leitura. A resposta desse exercício é bem simples: seleciona-se (SELECT) o identificador e o nome dos filmes (colunas id e name) da tabela movies, mas é necessário usar também a tabela de gêneros (genres) para não relacionar todo filme com todo gênero e duplicar resultados. Portanto, na cláusula WHERE basta comparar id_genres (da tabela movies) e id (da tabela genres). Se forem iguais, a condição está satisfeita.
Mas peraí, só isso não resolve o exercício! Isso foi feito apenas para fazer a restrição correta e evitar as relações desnecessárias. É necessário ainda verificar se a descrição do gênero é "Action" (ou seja, se o filme é de ação). Nessa solução usei o operador LIKE, que testa se a coluna em questão corresponde a um padrão. Neste caso o padrão é ser exatamente igual a "Action". O exercício poderia ter sido resolvido de outras formas também. E aí? Como você resolveu? Este é o meu código:
SELECT movies.id, movies.name FROM movies, genres WHERE movies.id_genres = genres.id AND genres.description LIKE 'Action';
Nenhum comentário:
Postar um comentário