Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Utilização do %

Não entendi o por que do uso de "%" na resposta, ao meu ver a informação na coluna genero já estava claro. Ou era ficção científica ou fantasia, faz sentido ter algum outro caracter antes ou depois nessa coluna? Preciso desse HELP.

SELECT * FROM livros WHERE (genero LIKE '%ficção científica%' OR genero LIKE '%fantasia%') AND ano_publicacao > 2000 AND editora IS NULL ORDER BY ano_publicacao DESC LIMIT 20;

1 resposta
solução!

Olá Matheus!

O uso do % no comando LIKE permite buscar por qualquer texto que contenha a palavra ou frase especificada em qualquer parte da string. Por exemplo, LIKE '%ficção científica%' vai encontrar qualquer valor que tenha "ficção científica" em qualquer lugar do gênero, como "Ficção científica moderna" ou "Ficção científica e fantasia".

Se você tiver certeza de que os valores na coluna "genero" são exatamente "ficção científica" ou "fantasia", sem nenhuma variação ou palavras extras, você pode simplificar a consulta usando = em vez de LIKE, assim:

SELECT * FROM livros WHERE (genero = 'ficção científica' OR genero = 'fantasia') O % é mais útil quando você espera variações ou informações extras no campo.

Porém recomendo sempre a utilização pois em banco de dados 'reais' podem ocorrer variações e esse tipo de hábito evita que passe desapercebido.