Para obter o número de funcionários cujo conteúdo do campo n...

Próximas questões
Com base no mesmo assunto
Q839313 Banco de Dados
Para obter o número de funcionários cujo conteúdo do campo nome da tabela funcionario termina com a letra o deve-se utilizar a instrução SQL SELECT COUNT(*) FROM funcionario WHERE
Alternativas

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