Pular para o conteúdo principal

Questão de Banco de Dados — Consultas e Comandos em SQL — CESPE / CEBRASPE 2025

Banco de DadosConsultas e Comandos em SQL
Código
ce417349
Banca
CESPE / CEBRASPE
Órgão
PF
Ano
2025
Cargo
PCF
Julgue o item subsecutivo, a respeito de bancos de dados.   Em SQL, as junções externas (LEFT OUTER JOIN, RIGHT OUTER JOIN e FULL OUTER JOIN) permitem incluir registros de uma ou de ambas as tabelas, mesmo quando não há correspondência entre as chaves de junção.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

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”.

SQL – Junções Externas (OUTER JOIN)

Gabarito: Certo. A afirmação está correta: as junções externas (LEFT, RIGHT e FULL OUTER JOIN) foram projetadas exatamente para preservar registros de uma ou de ambas as tabelas mesmo quando não há correspondência entre as chaves de junção, preenchendo com NULL os campos da tabela que não possui linha correspondente. Esse é o comportamento padrão definido pela linguagem SQL e descrito na literatura de bancos de dados relacionais.

As junções (JOINs) são operações da álgebra relacional que combinam linhas de duas ou mais tabelas com base em uma condição de correspondência, geralmente envolvendo chaves. O JOIN interno (INNER JOIN) é o mais básico: ele retorna apenas as linhas que possuem correspondência em ambas as tabelas, ou seja, descarta qualquer registro que não encontre um par. Já as junções externas (OUTER JOIN) ampliam esse comportamento, preservando registros que ficariam de fora no JOIN interno.

Existem três variações de junção externa, cada uma com uma regra específica sobre quais registros são preservados:

  • LEFT OUTER JOIN (ou LEFT JOIN): retorna todos os registros da tabela à esquerda (a primeira citada no comando) e apenas os registros correspondentes da tabela à direita. Quando não há correspondência, os campos da tabela à direita são preenchidos com NULL.

  • RIGHT OUTER JOIN (ou RIGHT JOIN): é o espelho do LEFT JOIN. Retorna todos os registros da tabela à direita e apenas os correspondentes da tabela à esquerda, preenchendo com NULL os campos da tabela à esquerda sem correspondência.

  • FULL OUTER JOIN (ou FULL JOIN): combina o efeito dos dois anteriores. Retorna todos os registros de ambas as tabelas, preenchendo com NULL os campos da tabela que não possui correspondência na outra.

A palavra-chave OUTER é opcional na sintaxe SQL, ou seja, LEFT JOIN, RIGHT JOIN e FULL JOIN são equivalentes a LEFT OUTER JOIN, RIGHT OUTER JOIN e FULL OUTER JOIN, respectivamente.

Para visualizar o comportamento, considere duas tabelas simples: a tabela A com os registros (1, 2, 3) e a tabela B com os registros (2, 3, 4). Um INNER JOIN pela chave retornaria apenas os registros 2 e 3. Um LEFT JOIN retornaria 1, 2 e 3, sendo que o registro 1 teria os campos de B preenchidos com NULL. Um RIGHT JOIN retornaria 2, 3 e 4, com o registro 4 tendo os campos de A preenchidos com NULL. Um FULL JOIN retornaria 1, 2, 3 e 4, com NULLs nos campos sem correspondência.

A pegadinha que a banca explora neste tema é a confusão entre o JOIN interno e o JOIN externo. O candidato que não domina a diferença pode achar que as junções externas também descartam registros sem correspondência, o que é falso. A característica central das junções externas é justamente a preservação de registros, e é exatamente isso que a afirmação descreve.

Guarde a distinção entre INNER JOIN (descarta sem correspondência) e OUTER JOIN (preserva sem correspondência): é nela que a questão se resolve.

Tipo de Junção

Registros Preservados

Campos sem Correspondência

LEFT OUTER JOIN

Todos da tabela esquerda

Preenchidos com NULL

RIGHT OUTER JOIN

Todos da tabela direita

Preenchidos com NULL

FULL OUTER JOIN

Todos de ambas as tabelas

Preenchidos com NULL

Junções (JOIN)
  • 1INNER JOIN
    • Só registros com correspondência
  • 2OUTER JOIN
    • LEFT
      • Preserva tabela esquerda
      • NULL na direita sem par
    • RIGHT
      • Preserva tabela direita
      • NULL na esquerda sem par
    • FULL
      • Preserva ambas as tabelas
      • NULL onde não há par
LEVEL · soulevel.com.br

Item — ✅ CERTO

A afirmação está correta. As junções externas (LEFT, RIGHT e FULL OUTER JOIN) permitem incluir registros de uma ou de ambas as tabelas, mesmo quando não há correspondência entre as chaves de junção. O LEFT OUTER JOIN preserva os registros da tabela esquerda, o RIGHT OUTER JOIN preserva os da tabela direita, e o FULL OUTER JOIN preserva os de ambas, preenchendo com NULL os campos sem correspondência. Essa é a definição clássica dessas operações na linguagem SQL.

PEGA ESSA DICA!

Para fixar, lembre-se da regra: INNER JOIN = só o que casa; OUTER JOIN = tudo, mesmo o que não casa. E para cada tipo de OUTER JOIN, pergunte-se: "quem é preservado?" — LEFT preserva a esquerda, RIGHT preserva a direita, FULL preserva os dois lados. Essa pergunta resolve qualquer questão sobre junções externas.

Gabarito: Certo.

Link permanente: /questoes/ce417349