Um desenvolvedor está desenvolvendo um sistema web utilizand...

Próximas questões
Com base no mesmo assunto
Q2432606 Banco de Dados

Um desenvolvedor está desenvolvendo um sistema web utilizando PHP e MySQL para avaliar os serviços prestados por uma hamburgueria. O banco de dados é chamado de “DBAvalia” e é composto por uma tabela chamada “avaliacao”, com as colunas “id, servico e nota”. Para os testes do sistema, o desenvolvedor fez registros hipotéticos para 3 serviços: atendimento, comida e ambiente, com a devida avaliação, sendo atribuída uma nota. Assinale a alternativa que representa a forma correta para o desenvolvedor fazer uma consulta SQL para contar quantos registros foram realizados para o serviço “ambiente”.

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

Alternativa correta: D - SELECT COUNT(*) FROM avaliacao WHERE servico = “ambiente”

A questão aborda um cenário comum no desenvolvimento de sistemas web, onde o desenvolvedor precisa interagir com um banco de dados MySQL para obter informações específicas. A tabela "avaliacao" contém os campos "id", "servico" e "nota", e a tarefa é contar quantos registros existem para o serviço "ambiente". Este tipo de consulta é fundamental para quem deseja manipular e extrair dados de um banco de dados de forma eficiente.

CONHECIMENTOS NECESSÁRIOS:

Para resolver essa questão, é essencial entender os conceitos de consultas SQL, especialmente as funções de agregação como COUNT() e SUM(), bem como a cláusula WHERE, que filtra registros com base em condições específicas.

JUSTIFICATIVA DA ALTERNATIVA CORRETA:

A alternativa D utiliza a função COUNT(*) para contar o número de registros na tabela "avaliacao" onde o campo "servico" é igual a "ambiente". Esta é a forma correta de contar registros que atendem a uma condição específica em SQL:

SELECT COUNT(*) FROM avaliacao WHERE servico = "ambiente"

A cláusula WHERE servico = "ambiente" garante que apenas os registros com o serviço "ambiente" sejam contados. A função COUNT(*) conta todos os registros que atendem a essa condição.

ANÁLISE DAS ALTERNATIVAS INCORRETAS:

A - SELECT SUM(nota) as soma FROM avaliacao WHERE servico = “ambiente”

Esta alternativa usa a função SUM(nota), que soma os valores da coluna "nota" para registros onde "servico" é "ambiente". No entanto, a questão pede o número de registros, não a soma das notas.

B - SELECT COUNT(nota) FROM avaliacao

A consulta conta o número de registros que possuem um valor na coluna "nota" em toda a tabela "avaliacao", sem considerar a condição "onde servico = 'ambiente'". Então, não filtra especificamente pelos registros de "ambiente".

C - SELECT SUM(nota) as media FROM avaliacao WHERE servico = “ambiente”

Semelhante à alternativa A, essa consulta soma os valores na coluna "nota" para registros onde "servico" é "ambiente", mas atribui o resultado ao alias "media". Novamente, a questão não pede a soma das notas, mas sim a contagem dos registros.

E - SELECT COUNT(*) FROM avaliacao

Embora esta consulta conte todos os registros na tabela "avaliacao", ela não aplica a cláusula WHERE para filtrar por "servico = 'ambiente'", portanto não atende ao requisito da questão.

Espero que essa explicação tenha ajudado a entender a lógica por trás da seleção da alternativa correta e a importância de cada consulta SQL. Se tiver mais dúvidas ou precisar de mais esclarecimentos, estou à disposição!

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo