Geral Múltipla Escolha

Uma tabela com a estrutura ALUNO(CODALUNO, NOME, SEXO, BAIRRO) foi criada. Qual código a seguir retorna o número de alunos por bairro?

Uma tabela com a estrutura ALUNO(CODALUNO, NOME, SEXO, BAIRRO) foi criada. Qual código a seguir retorna o número de alunos por bairro?

  1. SELECT BAIRRO, COUNT(*) FROM ALUNO GROUP BY BAIRRO;
  2. SELECT BAIRRO, COUNT(*) FROM ALUNO ORDER BY BAIRRO;
  3. SELECT BAIRRO, NOME FROM ALUNO;
  4. SELECT BAIRRO FROM ALUNO;
  5. SELECT SEXO, COUNT(*) FROM ALUNO GROUP BY NOME;

Resolução completa

Explicação passo a passo

A
Alternativa A

Alternativa A - SELECT BAIRRO, COUNT(*) FROM ALUNO GROUP BY BAIRRO;

Análise da Questão

Para responder a esta questão, precisamos entender como utilizar comandos SQL para agregar dados em tabelas de banco de dados. O objetivo é obter a quantidade de alunos dividida por cada bairro.

Estrutura da Tabela

A tabela fornecida é ALUNO:

  • CODALUNO: Identificador único (Chave Primária)
  • NOME: Nome do aluno
  • SEXO: Gênero do aluno
  • BAIRRO: Local onde o aluno reside

Lógica do Comando SQL

Para contar quantos itens existem em grupos específicos, utilizamos duas ferramentas principais do SQL:

  1. **Função de Agregação COUNT(*)**: Serve para contar o número total de linhas em um conjunto de dados.
  2. Cláusula GROUP BY: É essencial para definir como os dados serão agrupados antes da contagem. Sem ela, o COUNT(*) contaria todos os alunos de uma vez só, ignorando a distribuição por bairro.

Por que a Alternativa A está correta?

O código SELECT BAIRRO, COUNT(*) FROM ALUNO GROUP BY BAIRRO; executa o seguinte passo a passo:

  • SELECT BAIRRO: Pega a coluna que será exibida (o nome do bairro).
  • COUNT(*): Conta quantas linhas existem naquele grupo específico.
  • FROM ALUNO: Indica a origem dos dados.
  • GROUP BY BAIRRO: Agrupa todas as linhas que têm o mesmo valor na coluna BAIRRO. Assim, o contador reinicia para cada novo bairro encontrado.

Isso resulta em uma tabela de saída com duas colunas: o nome do bairro e o total de alunos nele registrados.

Por que as outras alternativas estão incorretas?

AlternativaMotivo da Incorreção
BUsa ORDER BY (ordenar), que apenas organiza a lista final, mas não realiza o agrupamento necessário para contar separadamente.
CApenas seleciona os nomes e bairros individuais, sem realizar qualquer contagem.
DRetorna apenas a lista de bairros, sem informar a quantidade de alunos.
ETenta agrupar por NOME mas seleciona SEXO, o que geraria erro de sintaxe e não responde à pergunta sobre "bairros".

Resumo: A única maneira de obter estatísticas (como contagem, soma, média) agrupadas por uma categoria específica em SQL é utilizando a combinação de funções de agregação com a cláusula GROUP BY.

Tem outra questão para resolver?

Resolver agora com IA

Mais questões de Geral

Ver mais Geral resolvidas

Tem outra questão de Geral?

Cole o enunciado, tire uma foto ou descreva o problema — a IA resolve com explicação completa em segundos.