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 alunoSEXO: Gênero do alunoBAIRRO: 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:
- **Função de Agregação
COUNT(*)**: Serve para contar o número total de linhas em um conjunto de dados. - 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?
| Alternativa | Motivo da Incorreção |
|---|
| B | Usa ORDER BY (ordenar), que apenas organiza a lista final, mas não realiza o agrupamento necessário para contar separadamente. |
| C | Apenas seleciona os nomes e bairros individuais, sem realizar qualquer contagem. |
| D | Retorna apenas a lista de bairros, sem informar a quantidade de alunos. |
| E | Tenta 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.