Questão nº 36

Questão de Banco de Dados · FCC TRT6 2025 (nº 36)

FCC2025Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da InformaçãoBanco de Dados
Gabarito: Dver comentário ↓

Considere que as tabelas, relacionamentos, atributos e restrições utilizadas no comando abaixo existem em um banco de dados Oracle aberto e em condições ideais.

```sql
SELECT d.departamento_id,
d.departamento_nome,
d.local_id,
COUNT(e.colaborador_id)
FROM colaboradores e
RIGHT OUTER JOIN departamentos d
ON e.departamento_id = d.departamento_id
GROUP BY d.departamento_id, d.departamento_nome, d.local_id;
```

Este comando

Resposta comentada

Gabarito Alternativa D

JOINs são comandos SQL que combinam linhas de duas ou mais tabelas com base em uma coluna relacionada. Um OUTER JOIN (como RIGHT OUTER JOIN) é um tipo especial de JOIN que inclui todas as linhas de uma das tabelas, mesmo que não haja correspondência na outra tabela. Especificamente, o RIGHT OUTER JOIN mantém todas as linhas da tabela que está à direita da palavra-chave JOIN, preenchendo com valores NULL para as colunas da tabela da esquerda onde não há correspondência. O GROUP BY agrupa linhas com valores idênticos em colunas especificadas, permitindo que funções de agregação como COUNT() operem sobre esses grupos.

  • (A) Incorreta: O GROUP BY garante que a contagem seja feita por departamento, e não o número total de colaboradores. Não há erro na junção para causar esse comportamento.
  • (B) Incorreta: A instrução RIGHT OUTER JOIN já é a correta para o objetivo de incluir todos os departamentos. Trocar para LEFT OUTER JOIN sem inverter as tabelas resultaria na exclusão de departamentos sem colaboradores.
  • (C) Incorreta: RIGHT OUTER JOIN é uma instrução SQL padrão e é plenamente suportada pelo Oracle. A afirmação de que não existe é falsa.
  • (D) Correta: O RIGHT OUTER JOIN garante que todos os departamentos (tabela departamentos está à direita) sejam listados. Para departamentos sem colaboradores, e.colaborador_id será NULL, e COUNT(e.colaborador_id) (que conta apenas valores não nulos) resultará em 0 para esses departamentos, atendendo à condição "incluindo aqueles sem colaboradores".
  • (E) Incorreta: A função COUNT(e.colaborador_id) agrega os IDs dos colaboradores, ou seja, conta quantos colaboradores existem por grupo. Ela não exibe os IDs individuais dos colaboradores.

Fonte: FCC TRT6 2025 Analista Judiciário - Área Apoio Especializado - Especialidade Tecnologia da Informação (Caderno Tipo 005). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho