Questão de Banco de Dados — Consultas e Comandos em SQL — Quadrix 2024
- Código
- qa630667
- Banca
- Quadrix
- Órgão
- NOVACAP
- Ano
- 2024
- Cargo
- Ana Sis ( )

- CCerto
- EErrado

GabaritoE — Errado
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.
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.
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