Geral Múltipla Escolha

Sejam duas tabelas assim estruturadas: DEPARTAMENTO(CODIGOD, NOME, ENDERECO, CODIGOD) EMPREGADO(CODIGOE, NOME, ENDERECO, CODIGOD) Seja a consulta a seguir: A consulta retorna:

Sejam duas tabelas assim estruturadas:

DEPARTAMENTO(CODIGOD, NOME, ENDERECO, CODIGOD)
EMPREGADO(CODIGOE, NOME, ENDERECO, CODIGOD)

Seja a consulta a seguir:

SELECT D.NOME, E.NOME
FROM DEPARTAMENTO D LEFT JOIN EMPREGADO E ON (D.CODIGOD=E.CODIGOD)
ORDER BY D.NOME;

A consulta retorna:

  1. O nome do departamento e o nome do empregado alocado. Os departamentos sem funcionário aparecem no resultado.
  2. O nome do departamento e o nome do empregado alocado. Os departamentos sem funcionário alocado não aparecem no resultado.
  3. O nome do departamento e o nome do empregado alocado. Os empregados sem departamento aparecem no resultado.

Resolução completa

Explicação passo a passo

A
Alternativa A

Alternativa A - O nome do departamento e o nome do empregado alocado. Os departamentos sem funcionário aparecem no resultado.

Análise Detalhada

Para entender a resposta, precisamos analisar o tipo de junção (Join) utilizado na consulta SQL apresentada.

A estrutura da consulta é:

FROM DEPARTAMENTO D LEFT JOIN EMPREGADO E ...

Conceito de LEFT JOIN

O comando LEFT JOIN (também chamado de Left Outer Join) possui uma regra fundamental:

  • Mantém todas as linhas da tabela da esquerda (neste caso, DEPARTAMENTO).
  • Adiciona dados da tabela da direita (EMPREGADO) apenas se houver correspondência nas chaves indicadas (ON D.CODIGOD = E.CODIGOD).
  • Se um registro da tabela da esquerda não tiver correspondente na tabela da direita, ele ainda será exibido, mas as colunas vindas da tabela da direita receberão o valor NULL.

Aplicação ao Cenário

  1. Tabela Principal: A tabela DEPARTAMENTO está à esquerda do JOIN. Portanto, todos os departamentos serão listados, independentemente de terem funcionários ou não.
  2. Resultado:
  • Para departamentos com funcionários: Mostra o nome do departamento e o nome do funcionário.
  • Para departamentos sem funcionários: Mostra o nome do departamento e o campo do funcionário como vazio (NULL).

Comparação com as Opções

Tipo de JoinComportamentoAlternativa Correspondente
LEFT JOINMantém todos da esquerda (Departamento). Departamentos sem funcionário aparecem.Alternativa A
INNER JOINMantém apenas registros que existem em ambas as tabelas. Departamentos sem funcionário seriam excluídos.Alternativa B
RIGHT JOINMantém todos da direita (Empregado). Empregados sem departamento apareceriam.Alternativa C

Portanto, a afirmação de que "Os departamentos sem funcionário aparecem no resultado" é a característica distintiva do LEFT JOIN utilizado nesta questão.

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.