Questão de Banco de Dados — Consultas e Comandos em SQL — FUNDATEC 2023
Banco de Dados›Consultas e Comandos em SQL
Código
qa537500
Banca
FUNDATEC
Órgão
CIGA SC
Ano
2023
Cargo
Ana Sis ( )
Considere a figura a seguir.
Figura – Tabelas MARCA e PRODUTO
Considerando a tabela MARCA, apresentada na figura, qual resultado será retornado pelo comando SQL abaixo?
SELECT COUNT(DISTINCT GRUPO)
FROM MARCA
A0
B1
C2
D3
E4
Revelar gabarito e comentário▾
GabaritoD — 3
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”.
Resolução
Gabarito: letra D — a conta chega a 3 — alternativa D.
A ideia por trás
COUNT é uma função de agregação do SQL que conta linhas. Quando usada com DISTINCT, ela conta apenas os valores únicos de uma coluna, ignorando repetições e valores nulos. É diferente de COUNT(*) que conta todas as linhas, e de COUNT(coluna) que conta linhas não nulas, mas inclui repetições.
A sintaxe COUNT(DISTINCT coluna) primeiro elimina valores duplicados da coluna e depois conta quantos restaram. Por exemplo, se a coluna tem 'X', 'Y', 'X', 'Z', o resultado é 3, pois 'X' aparece duas vezes mas é contado uma única vez. Valores nulos são ignorados, pois NULL não é considerado um valor.
Esta questão testa exatamente a diferença entre COUNT(DISTINCT) e COUNT simples. É preciso identificar na figura quantos grupos distintos existem na coluna GRUPO, sem se deixar enganar pelas repetições.
O que queremos: o resultado do comando SELECT COUNT(DISTINCT GRUPO) FROM MARCA
Passo 1 — Listar os valores da coluna GRUPO
Para saber quantos grupos distintos existem, primeiro precisamos ver todos os valores que aparecem na coluna. A figura mostra a tabela MARCA com várias linhas, e a coluna GRUPO contém valores repetidos.
Não olhar a figura com atenção e supor que os valores são todos diferentes.
Passo 2 — Identificar os valores distintos
O comando usa DISTINCT, que elimina repetições. Precisamos separar os valores únicos da coluna GRUPO.
Por que esta fórmula: DISTINCT é uma cláusula que remove duplicatas. Ao aplicá-la à coluna GRUPO, ficamos apenas com os valores que aparecem pelo menos uma vez, sem repetição.
Valores distintos: 'A', 'B', 'C'
NÃO CAIA NESSA!
Contar as repetições como se fossem valores distintos, obtendo um número maior.
Passo 3 — Contar os valores distintos
Agora que temos os valores únicos, basta contá-los. O COUNT(DISTINCT) retorna exatamente esse número.
Por que esta fórmula: COUNT(DISTINCT coluna) conta quantos valores únicos existem na coluna. Como temos três valores distintos, o resultado é 3.
De onde vem cada valor: = passo 2: três valores distintos ('A', 'B', 'C')
NÃO CAIA NESSA!
Confundir com COUNT(*) que contaria todas as linhas, incluindo repetições.