Pular para o conteúdo principal

Questão de Banco de Dados — SQL — CESPE / CEBRASPE 2023

Banco de DadosSQL
Código
ce163591
Banca
CESPE / CEBRASPE
Órgão
TC-DF
Ano
2023
Nível
Superior
Cargo
Auditor de Controle Externo – Área Especializada – Especialidade Tecnologia da Informação – Orientação Sistemas de TI
Julgue o item que se segue, a respeito de SQL e das técnicas para detecção de problemas e otimização de desempenho do SGDB e de consultas SQL.Considere-se o trecho de código em SQL a seguir.Imagem associada para resolução da questãoExecutando-se esse código, obtém-se o resultado a seguir.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”.

SQL: Comando SELECT e a cláusula WHERE

Gabarito: Errado (E). A consulta apresentada no enunciado, que utiliza SELECT com uma condição na cláusula WHERE, não retorna o resultado mostrado na imagem 2, pois a condição de filtragem não corresponde aos dados que gerariam aquele resultado. A análise correta depende de verificar se a condição WHERE seleciona exatamente as linhas que aparecem no resultado, o que não ocorre no caso apresentado.

O comando SELECT é a instrução fundamental da linguagem SQL para consultar dados em um banco de dados relacional. Sua sintaxe básica é SELECT colunas FROM tabela WHERE condição. A cláusula WHERE é responsável por filtrar as linhas da tabela que atendem a uma determinada condição lógica. Apenas as linhas que satisfazem essa condição são incluídas no resultado da consulta. É importante entender que a ordem de execução lógica de uma consulta SQL é: primeiro, as tabelas são combinadas (FROM), depois as linhas são filtradas (WHERE), em seguida os dados são agrupados (GROUP BY), depois os grupos são filtrados (HAVING), e por fim, as colunas são projetadas (SELECT) e ordenadas (ORDER BY).

Para resolver a questão, é necessário analisar o código SQL fornecido na imagem 1 e o resultado esperado na imagem 2. A imagem 1 mostra uma consulta que seleciona colunas de uma tabela e aplica um filtro na cláusula WHERE. A imagem 2 mostra o resultado que seria obtido. A questão pede para julgar se, ao executar o código, o resultado obtido é o mostrado. A resposta é Errado, pois a condição WHERE não produz o resultado exibido. A banca explora a necessidade de o candidato interpretar corretamente o efeito da cláusula WHERE sobre os dados, verificando se a condição é verdadeira para as linhas que aparecem no resultado e falsa para as demais.

A pegadinha desta questão está em não analisar cuidadosamente a condição WHERE e o resultado apresentado. O candidato pode ser induzido a acreditar que a consulta está correta sem verificar se a condição realmente filtra os dados da forma esperada. É fundamental comparar cada linha do resultado com a condição da cláusula WHERE para confirmar se todas as linhas atendem à condição e se nenhuma linha que atenderia à condição foi omitida.

Item — ❌ Errado

A afirmação de que o código SQL produz o resultado mostrado é incorreta. A condição WHERE na consulta não corresponde ao resultado apresentado. Para que o resultado estivesse correto, todas as linhas exibidas deveriam satisfazer a condição WHERE, e nenhuma linha que satisfizesse a condição poderia estar ausente. Como isso não ocorre, o item está errado.

Gabarito: Errado (E).

Link permanente: /questoes/ce163591