Para obter o número de funcionários cujo conteúdo do campo n...
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: B - nome LIKE '%o';
Para entender a questão, precisamos nos aprofundar no funcionamento do comando LIKE, utilizado em SQL para realizar buscas por padrões em strings. O LIKE permite que usemos dois caracteres especiais para definir o padrão:
- O '%', que representa qualquer sequência de caracteres, incluindo uma sequência vazia;
- O '_', que representa um único caractere.
No caso dessa questão, é solicitado que se encontre o número de funcionários cujo nome termina com a letra 'o'. A sintaxe correta para isso é usar o '%' antes do 'o', o que significa que estamos procurando por qualquer string que termine com 'o', independente dos caracteres que venham antes.
A alternativa B está correta pois o operador LIKE '%o' faz exatamente isso: seleciona todas as entradas em que o campo 'nome' termina com 'o'. Assim, a instrução SQL completa ficaria:
SELECT COUNT(*) FROM funcionario WHERE nome LIKE '%o';
Vejamos por que as outras alternativas não são corretas:
- A - O caractere '*' não é usado como coringa em SQL. Em vez disso, usa-se '%'.
- C - A função SUBSTR combinada com LEN poderia ser usada para verificar o último caractere, mas a sintaxe apresentada está incorreta.
- D - Não existe um operador CONTAINS em SQL padrão para fazer essa comparação. A busca por padrão se faz com LIKE.
- E - A função SUBSTR(nome,0) não faz sentido, pois não está verificando o final da string e está mal formada.
Entender como e quando utilizar o LIKE é essencial para quem deseja trabalhar com consultas em banco de dados SQL, especialmente em questões de concursos públicos que frequentemente testam esses conhecimentos práticos.
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo
Comentários
Veja os comentários dos nossos alunos
GABARITO: B
The following SQL statement selects all customers with a CustomerName ending with "a":
SELECT * FROM Customers
WHERE CustomerName LIKE '%a';
Fonte: https://www.w3schools.com/sql/sql_like.asp
LIKE
Usa-se o operador LIKE em uma cláusula WHERE para procurar uma string padrão, usando o LIKE com o Sublinhado (_) e Porcentagem (%).
Sublinhado (_) - Serve para marcar uma posição específica.
Ex: ... WHERE atributo LIKE ‘_ato’
Prováveis resultados: pato,gato,rato.
Porcentagem (%) - Qualquer número de caracteres a partir da posição especificada.
Ex: ... WHERE atributo LIKE ‘ca%a’
Prováveis resultados: casa, catarata, caçapa
l*ike é uma restrição que pode ser utilizado com expressão regulares, utlilizando o % que pode vim qualquer sequencia de caracteres e o _ (sublinhado) que marcar um lugar especifico que pode receber qualquer caractere
*O SUBSTR(string, start_position, length) , extrai uma parte de uma string como fizesse cortes
Clique para visualizar este comentário
Visualize os comentários desta questão clicando no botão abaixo