Baseado em Puga (2013), considere que, em um banco de dados ...
(PUGA, Sandra Gavioli; FRANÇA, Edson Tarcísio; GOYA, Milton Roberto. Banco de dados: implementação em SQL, PL/SQL e Oracle 11g. São Paulo: Pearson, 2013.)
CREATE TABLE aluno (
idAluno integer primary key,
nome varchar(40),
nota number,
frequencia number
)
Considere que o estudante obtém aprovação quando atinge a nota 7 e possui frequência mínima de 75. Assinale a opção que contém o comando SQL que retorna apenas a chave primária e o nome do aluno que obteve nota para aprovação, mas que reprovou por frequência, mostrando o resultado em ordem crescente de nota:
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
Alternativa correta: C
1. Tema central da questão
O foco desta questão está no uso do comando SELECT no banco de dados relacional, combinando condições lógicas (AND, OR) para filtrar registros de acordo com critérios específicos de aprovação e reprovação, e apresentando os resultados ordenados.
2. Resumo teórico
No SQL, a cláusula WHERE é usada para definir condições que filtram os dados retornados. Para combinar diversas condições, utiliza-se AND (todas precisam ser verdadeiras) e OR (uma delas verdadeira já basta). O comando ORDER BY organiza o resultado, aqui solicitado em ordem crescente de nota.
Fontes como o livro de Puga et al. (2013) e a documentação oficial do w3schools confirmam estes conceitos.
3. Justificativa da alternativa correta (C)
O comando SELECT idAluno, nome FROM aluno WHERE frequencia < 75 AND nota >= 7 ORDER BY nota ASC retorna apenas os alunos que:
- nota >= 7 (atingiu a nota mínima para aprovação)
- frequencia < 75 (não atingiu a frequência mínima e, portanto, reprovou por frequência)
A ordenação ORDER BY nota ASC garante que os resultados estejam em ordem crescente de nota, como pedido.
4. Análise das alternativas incorretas
A: Utiliza OR, trazendo alunos que atenderam qualquer uma das condições (nota maior ou igual a 7 ou frequência menor que 75), o que inclui aprovados e reprovados erroneamente.
B: Usa o campo aprovado, que não existe na tabela.
D: Seleciona todos os campos (*), usa AND corretamente, mas não restringe as colunas pedidas (apenas idAluno e nome) e ordena de forma decrescente (DESC), ao invés de crescente.
E: Seleciona alunos com frequência maior ou igual a 75 e nota menor que 7, o oposto do solicitado (reprovou por nota, não por frequência).
5. Estratégias para interpretação
- Leia atentamente o que deve ser retornado: idAluno e nome apenas dos que atingiram a nota mínima mas não a frequência mínima.
- Observe qual operador lógico conecta as condições (AND exige ambas as condições verdadeiras).
- Atente-se à ordem de exibição exigida: aqui, ORDER BY nota ASC.
- Cuidado com comandos que retornam mais colunas do que o solicitado ou campos inexistentes.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo