Questão de Arquitetura de Software — Banco de Dados — FCC 2023
Arquitetura de Software›Banco de Dados
Código
fc070440
Banca
FCC
Órgão
TRT - 21ª Região (RN)
Ano
2023
Nível
Superior
Cargo
Analista Judiciário - Área: Apoio Especializado - Tecnologia da Informação
No MySQL, com o banco de dados aberto e em condições ideais, para contar quantos funcionários pertencem ao departamento com idDep igual a 'Dep1' e para listar 05 nomes desses funcionários em ordem alfabética ascendente, separados por vírgulas, utiliza-se o comando
ASELECT COUNT (F.emailFun) AS Quantidade Funcionarios, CONCAT(F.nomeFun ORDER EY F.nomeFun ASC SEPARATOR ', ') AS Nomes_Funcionarios FROM funcionario F INNER JOIN departamento D ON F.idDep = D.idDep;
BSELECT COUNT (F.emailFun) AS Quantidade Funcionarios, GROUP CONCAT(F.nomeFun ORDER BY F.nomerFun ASC SEPARATOR ', ') AS Nomes Funcionarios FROM funcionario F INNER JOIN departamento D ON F.idDep = D.idDep WHERE D.idDep = 'Depl';
CSELECT COUNT (F.emailFun) AS Quantidade Funcionarios, GROUP CONCAT(F.nomeFun ORDER BY F.nomeFun ASC SEPARATOR ', 'j AS Nomes Funcionarios FROM funcionario F INNER JOIN departamento D ON F.idFun = D.idDep WHERE D.idDep = 'Depl';
DSELECT COUNT (F.emailFun) AS Quantidade Funcionarios, CONCAT(F.nomerun ORDER BY F.nomeFun ASC SEPARATOR ', ') AS Nomes Funcionarios FROM funcionario F WHERE D.idDep = 'Depl';
ESELECT COUNT (F.emailFun) AS Quantidade Funcionarios, CONCAT(F.nomerun ORDER EY F.nomeFun ASC, BEPARATOR ', ') AS Nomes Funcionarios FROM funcionario F INNER JOIN departamento D OM F.idDep = D.idDep WHERE D. idDep = 'Depl';
Revelar gabarito e comentário▾
GabaritoB — SELECT COUNT (F.emailFun) AS Quantidade Funcionarios, GROUP CONCAT(F.nomeFun ORDER BY F.nomerFun ASC SEPARATOR ', ') AS Nomes Funcionarios FROM funcionario F INNER JOIN departamento D ON F.idDep = D.idDep WHERE D.idDep = 'Depl';
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”.
Comando MySQL: COUNT e GROUP_CONCAT
Gabarito: letra B. A alternativa B é a única que combina a função correta para concatenação com separador (GROUP_CONCAT), a cláusula ORDER BY interna, a condição de junção correta (ON F.idDep = D.idDep) e o filtro WHERE D.idDep = 'Dep1' (apesar do pequeno erro de digitação 'Depl' e do espaço em 'GROUP CONCAT', que seriam aceitos como variações em condições ideais). As demais alternativas contêm erros de sintaxe mais graves, como uso de CONCAT (que não suporta ORDER BY nem SEPARATOR), ausência de WHERE, junção por coluna inexistente, ou referência a tabela sem alias.
Alternativa
Função correta?
JOIN correto?
WHERE?
Observação
A
❌ CONCAT não tem SEPARATOR
✅
❌
Typo "ORDER EY"
B
✅ GROUP_CONCAT (com espaço, mas aceitável)
✅
✅
Typo "nomerFun" e "Depl"
C
✅ (GROUP_CONCAT)
❌ (F.idFun inexistente)
✅
Typo na sintaxe
D
❌ CONCAT
❌ (sem JOIN)
❌ (ref. D.idDep)
Vários erros
E
❌ CONCAT
❌ (OM)
✅
Vários typos
Alternativa A — ❌ Incorreta
Utiliza CONCAT em vez de GROUP_CONCAT. A função CONCAT não aceita cláusulas ORDER BY ou SEPARATOR. Além disso, não há filtro WHERE, o que faria o comando contar e listar funcionários de todos os departamentos, não apenas do 'Dep1'.
Alternativa B — ✅ Correta ⟵ GABARITO
Apesar dos pequenos erros de digitação (espaço em GROUP CONCAT e nomerFun em vez de nomeFun; 'Depl' em vez de 'Dep1'), a estrutura está correta: usa a função GROUP_CONCAT com ORDER BY interno e SEPARATOR, faz o JOIN correto e filtra pelo departamento desejado. Em condições ideais, esses detalhes seriam considerados aceitáveis ou facilmente ajustados.
Alternativa C — ❌ Incorreta
A condição de junção ON F.idFun = D.idDep está errada: a tabela funcionario não possui a coluna idFun. O correto seria F.idDep = D.idDep. Ademais, há um erro de sintaxe no fechamento do GROUP_CONCAT.
Alternativa D — ❌ Incorreta
Usa CONCAT (que não suporta as cláusulas), não faz JOIN e referencia D.idDep sem a tabela D estar no escopo (falta FROM com JOIN).
Alternativa E — ❌ Incorreta
Utiliza CONCAT com ORDER EY e BEPARATOR, erros de digitação grosseiros, e OM em vez de ON. Apesar do WHERE, a função e a junção estão inválidas.
PEGA ESSA DICA!
Para concatenar valores de várias linhas em uma única string no MySQL, use GROUP_CONCAT (função de agregação). Dentro dela, é possível ordenar com ORDER BY e definir o separador com SEPARATOR. Lembre-se de que CONCAT apenas junta valores de uma mesma linha.