Considere a seguinte tabela de um banco de dados relacional...

Próximas questões
Com base no mesmo assunto
Q1836583 Banco de Dados
Considere a seguinte tabela de um banco de dados relacional: Funcionário (CPF, Nome, Sobrenome, Função, Salário) O comando SQL para obter Nome e Função dos funcionários de sobrenome Silva, em qualquer parte do sobrenome, ordenados, de forma ascendente, pelo nome, é:
Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa Correta: C

O tema da questão envolve a seleção e filtragem de dados em um banco de dados SQL, juntamente com a ordenação dos resultados. Para resolver tal questão, o examinando precisa estar familiarizado com o comando SELECT, o uso de WHERE para aplicar condições, o uso do operador LIKE para filtrar strings e o comando ORDER BY para classificar os resultados.

O uso do operador LIKE é comum quando é necessário realizar uma busca por padrões de string semelhantes. Nesse caso, os símbolos de percentual % são usados como curingas substitutos para qualquer sequência de caracteres. A expressão "%Silva%" irá buscar qualquer ocorrência de sobrenomes que contenham "Silva" em qualquer parte da string. Além disso, o comando ORDER BY é utilizado para ordenar os resultados de acordo com uma ou mais colunas, e a ausência do ASC ou DESC indica ordenação ascendente por padrão.

O gabarito correto (alternativa C) faz uso corretamente das expressões e comandos mencionados:

SELECT Nome, Função
FROM Funcionário
WHERE Sobrenome LIKE "%Silva%"
ORDER BY Nome;

Esta consulta retorna as colunas Nome e Função de todos os funcionários cujo sobrenome contém a palavra "Silva", e ordena esses resultados pelo nome de forma ascendente.

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

Para esta questão só ao observar o Order By Nome

já se entende que está ordenando então é a correta o restante não tem ordenação de comando SQL.

A): Comando IN serve para agrupar múltiplas condições de busca. Não achei referencias de uso delimitado por hashtags. SET é usado com o comando UPDATE para atualizar um valor. ERRADA

B): SIMILAR TO retorna true se encontrada uma expressão literal de acordo (mais expensiva computacionalmente que o LIKE). SET é usado com o comando UPDATE para atualizar um valor. ERRADA

C): LIKE busca uma expressao delimitada por "%" ou "_", e no caso em tela, eu busco uma expressão exata "%silva%". ORDER BY ordena de forma ascendente se não colocado com o comando DESC. CORRETO

D): Setinha estraga a questão, pq nem sei como digitar isso no teclado. ERRADA

E): Mesma coisa da setinha, não achei nada relacionado ao PUT; comandos para inserir dados e atualizar são INSERT e UPTDATE, respectivamente.ERRADA

Estou descrevendo assim para que eu tbm entenda e comece a memorizar esses comandos. Qualquer b.o sinta-se a vontade para corrigir.

Vamos analisar as opções:

A. SELECT Nome, Função FROM Funcionário WHERE Sobrenome IN “#Silva#” SET BY Nome; - Incorreta. A cláusula IN não é usada dessa forma em consultas com texto e o uso de SET BY Nome não é válido.

B. SELECT Nome, Função FROM Funcionário WHERE Sobrenome SIMILAR “@Silva@” SET BY Nome; - Incorreta. O operador SIMILAR não é usado para comparações de texto com curingas, e o uso de SET BY Nome não é válido.

C. SELECT Nome, Função FROM Funcionário WHERE Sobrenome LIKE “%Silva%” ORDER BY Nome; - Correta. Esta consulta usa a cláusula LIKE para buscar sobrenomes que contenham "Silva" em qualquer parte e, em seguida, ordena os resultados pelo atributo Nome.

D. SELECT Nome, Função FROM Funcionário WHERE Sobrenome = &Silva& Nome ↑; - Incorreta. O uso de & não é adequado para comparações de texto em SQL, e o termo "Nome ↑" não é válido para ordenação.

E. SELECT Nome, Função FROM Funcionário WHERE Sobrenome JUST LIKE “$Silva%” PUT Nome ↑; - Incorreta. JUST LIKE não é uma construção válida em SQL, e o uso de "PUT Nome ↑" não faz sentido nesta consulta.

Portanto, a opção correta é a C. SELECT Nome, Função FROM Funcionário WHERE Sobrenome LIKE “%Silva%” ORDER BY Nome.

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo