Pular para o conteúdo principal

Questão de Banco de Dados — Consultas e Comandos em SQL — Quadrix 2024

Banco de DadosConsultas e Comandos em SQL
Código
qa630667
Banca
Quadrix
Órgão
NOVACAP
Ano
2024
Cargo
Ana Sis ( )
Com relação à tabela SERVIÇO acima, implementada em um banco de dados relacional, e à linguagem SQL, julgue o item a seguir.   Ao se executar o comando a seguir, o resultado apresentado será o número 3. SELECT COUNT(*) FROM SERVICO WHERE VEICULO LIKE ‘%VAN%’ AND ESPEC_SERV LIKE ‘%BOCA DE LOBO%’;Imagem associada para resolução da questão
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Consulta SQL com COUNT e LIKE

Gabarito: ERRADO (letra E). A consulta SELECT COUNT(*) FROM SERVICO WHERE VEICULO LIKE '%VAN%' AND ESPEC_SERV LIKE '%BOCA DE LOBO%' não retorna o número 3, pois a tabela SERVIÇO (conforme a figura) possui apenas 2 registros que atendem simultaneamente às duas condições: veículo contendo "VAN" e serviço contendo "BOCA DE LOBO". O resultado correto seria 2, não 3.

A função de agregação COUNT(*) conta o número de linhas que satisfazem a condição especificada na cláusula WHERE. No comando apresentado, há duas condições unidas pelo operador lógico AND, o que significa que ambas devem ser verdadeiras para que a linha seja contabilizada. O operador LIKE é utilizado para busca de padrões em strings, e o curinga % substitui qualquer sequência de caracteres (inclusive vazia). Assim, LIKE '%VAN%' encontra qualquer valor que contenha a substring "VAN" em qualquer posição, e LIKE '%BOCA DE LOBO%' encontra qualquer valor que contenha "BOCA DE LOBO" em qualquer posição.

Para resolver a questão, é necessário analisar a tabela SERVIÇO linha por linha, verificando quais registros atendem simultaneamente aos dois critérios. A figura mostra que apenas 2 registros possuem, na coluna VEICULO, a substring "VAN" e, na coluna ESPEC_SERV, a substring "BOCA DE LOBO". Portanto, o COUNT(*) retornará 2, e não 3.

A pegadinha da banca está em induzir o candidato a contar apenas uma das condições ou a errar a contagem por não observar a interseção entre elas. É comum o candidato contar quantos veículos são "VAN" ou quantos serviços são "BOCA DE LOBO" separadamente, mas o AND exige que ambos os critérios sejam satisfeitos na mesma linha.

NÃO CAIA NESSA!

A banca explora a contagem incorreta ao não considerar que o AND exige que ambas as condições sejam verdadeiras na mesma linha. O candidato pode contar 3 registros se considerar apenas uma das condições, mas a interseção correta é 2. Fique atento: LIKE '%VAN%' e LIKE '%BOCA DE LOBO%' devem ser aplicados juntos.

Item — ❌ Errado

A afirmação de que o resultado será o número 3 está incorreta. A consulta retorna 2, pois apenas dois registros da tabela SERVIÇO atendem simultaneamente às condições VEICULO LIKE '%VAN%' e ESPEC_SERV LIKE '%BOCA DE LOBO%'. O COUNT(*) conta as linhas que satisfazem o WHERE completo, e a interseção correta é 2, não 3.

Conclusão: Como a afirmação está errada, o gabarito é a letra E (Errado).

Gabarito: letra E

Link permanente: /questoes/qa630667