Pular para o conteúdo principal

Questão de Banco de Dados — Consultas e Comandos em SQL — FUNDATEC 2025

Banco de DadosConsultas e Comandos em SQL
Código
qa699017
Banca
FUNDATEC
Órgão
IF Sertão PE
Ano
2025
Cargo
AnaTI ( )

bancos de dados relacionais, a cláusula JOIN é utilizada para combinar registros de duas ou mais tabelas com base em uma coluna comum entre elas. Em relação aos tipos INNER JOIN, LEFT JOIN, RIGHT JOIN e CROSS JOIN no MySQL, analise as assertivas abaixo, assinalando V, se verdadeiras, ou F, se falsas.

 

( ) O comando INNER JOIN retorna apenas os registros que possuem correspondência em ambas as tabelas, conforme a condição estabelecida.

 

( ) O LEFT JOIN garante a exibição de todos os registros da tabela à esquerda, mesmo que não haja correspondência na tabela à direita.

 

( ) A operação CROSS JOIN pode ser usada com cláusula ON para limitar o número de combinações geradas, funcionando de forma semelhante a um INNER JOIN.

 

( ) O RIGHT JOIN produz os mesmos resultados que um LEFT JOIN, desde que as posições das tabelas sejam invertidas corretamente.

 

( ) Quando não há correspondência no RIGHT JOIN, os valores da tabela à esquerda serão substituídos por valores padrão (por exemplo, zero), e não por NULL.

 

A ordem correta de preenchimento dos parênteses, de cima para baixo, é:

  1. AV – F – F – V – V.
  2. BF – V – V – F – F.
  3. CV – V – F – V – F.
  4. DF – V – V – F – V.
  5. EV – F – V – V – F.
Revelar gabarito e comentário

GabaritoC — V – V – F – V – F.

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

Tipos de JOIN no MySQL

Gabarito: letra C — sequência V – V – F – V – F. As três primeiras assertivas descrevem corretamente o INNER JOIN, o LEFT JOIN e o CROSS JOIN; a quarta é verdadeira porque RIGHT JOIN e LEFT JOIN são simétricos quando se invertem as tabelas; e a quinta é falsa, pois a ausência de correspondência no RIGHT JOIN preenche os campos da tabela à esquerda com NULL, não com valores padrão como zero.

A cláusula JOIN é o mecanismo da linguagem SQL para combinar registros de duas ou mais tabelas com base em uma coluna comum, correspondendo à operação de junção da álgebra relacional. Cada tipo de JOIN define um comportamento distinto quanto aos registros que aparecem no resultado e como as linhas sem correspondência são tratadas. Compreender essas diferenças é essencial para escrever consultas corretas e para responder questões de concurso, que frequentemente exploram exatamente as sutilezas de cada variação.

O INNER JOIN, também chamado apenas de JOIN, retorna somente as linhas que possuem valores correspondentes em ambas as tabelas, ou seja, a interseção entre elas. É o tipo mais comum e o comportamento padrão quando se usa a palavra JOIN sem qualificador. Já o LEFT JOIN (ou LEFT OUTER JOIN) preserva todos os registros da tabela à esquerda, preenchendo com NULL os campos da tabela à direita quando não há correspondência. O RIGHT JOIN (ou RIGHT OUTER JOIN) faz o oposto: preserva todos os registros da tabela à direita e preenche com NULL os campos da tabela à esquerda. O CROSS JOIN, por sua vez, é o produto cartesiano entre as tabelas, combinando cada linha de uma com todas as linhas da outra, sem aplicar nenhum predicado de junção.

Uma distinção importante é que o CROSS JOIN, quando usado com uma cláusula ON, comporta-se como um INNER JOIN — a condição filtra as combinações do produto cartesiano. Isso é exatamente o que a terceira assertiva afirma, e por isso ela é verdadeira. Já a quinta assertiva contém um erro clássico: quando não há correspondência em um RIGHT JOIN, os campos da tabela à esquerda são preenchidos com NULL, não com valores padrão como zero. O NULL é o marcador universal de ausência de valor em SQL, e é ele que aparece nas junções externas quando não há par correspondente.

A pegadinha que a banca explora aqui é a confusão entre o comportamento do RIGHT JOIN e do LEFT JOIN, e a ideia incorreta de que valores padrão (como zero) seriam usados no lugar de NULL. O candidato que não domina a semântica das junções externas tende a marcar a quinta assertiva como verdadeira, caindo na armadilha. Para acertar, é preciso lembrar que NULL é o valor que representa a ausência de dado, e é ele que preenche os campos sem correspondência em qualquer junção externa.

Critério

INNER JOIN

LEFT JOIN

RIGHT JOIN

CROSS JOIN

O que retorna

Só linhas com correspondência em ambas

Todas da esquerda + correspondentes da direita

Todas da direita + correspondentes da esquerda

Produto cartesiano (todas as combinações)

Sem correspondência

Linha excluída

Campos da direita = NULL

Campos da esquerda = NULL

Não se aplica (não há condição)

Uso de ON

Obrigatório (condição de junção)

Obrigatório

Obrigatório

Não usa (com ON vira INNER)

Relação com o outro

Equivale ao RIGHT com tabelas invertidas

Equivale ao LEFT com tabelas invertidas

Assertiva 1 — ✅ Verdadeira

O INNER JOIN retorna apenas os registros que possuem correspondência em ambas as tabelas, conforme a condição estabelecida. Isso é exatamente a definição de interseção entre as tabelas: somente as linhas que satisfazem o predicado da cláusula ON aparecem no resultado. É o tipo de junção mais utilizado e o comportamento padrão quando se escreve apenas JOIN. A assertiva está correta.

Assertiva 2 — ✅ Verdadeira

O LEFT JOIN garante a exibição de todos os registros da tabela à esquerda, mesmo que não haja correspondência na tabela à direita. Quando não há par, os campos da tabela à direita são preenchidos com NULL. Essa é a definição precisa do LEFT OUTER JOIN: preserva todas as linhas da tabela da esquerda e traz os dados correspondentes da direita quando existem, preenchendo com NULL quando não existem. A assertiva está correta.

Assertiva 3 — ❌ Falsa

A operação CROSS JOIN pode ser usada com cláusula ON para limitar o número de combinações geradas, funcionando de forma semelhante a um INNER JOIN. Na verdade, o CROSS JOIN é o produto cartesiano puro, sem nenhum predicado de junção. Quando se adiciona uma cláusula ON, o comportamento se torna equivalente ao de um INNER JOIN, mas isso não é uma característica do CROSS JOIN em si — é uma consequência de se aplicar uma condição de filtro. A assertiva está incorreta porque descreve o CROSS JOIN como se ele naturalmente aceitasse ON para limitar combinações, quando na verdade o CROSS JOIN não usa ON; se usado, vira um INNER JOIN.

Assertiva 4 — ✅ Verdadeira

O RIGHT JOIN produz os mesmos resultados que um LEFT JOIN, desde que as posições das tabelas sejam invertidas corretamente. Isso é verdade: RIGHT JOIN e LEFT JOIN são simétricos. Se você tem TabelaA LEFT JOIN TabelaB, o resultado é o mesmo de TabelaB RIGHT JOIN TabelaA. A diferença está apenas em qual tabela é preservada integralmente. A assertiva está correta.

Assertiva 5 — ❌ Falsa

Quando não há correspondência no RIGHT JOIN, os valores da tabela à esquerda serão substituídos por valores padrão (por exemplo, zero), e não por NULL. Isso é falso. Em qualquer junção externa (LEFT, RIGHT ou FULL), quando não há correspondência, os campos da tabela que não tem par são preenchidos com NULL, não com valores padrão como zero. O NULL é o marcador universal de ausência de valor em SQL. A assertiva está incorreta.

Gabarito: letra C — sequência V – V – F – V – F.

Link permanente: /questoes/qa699017