Questão nº 50

Questão de Tecnologia da Informação · FGV PCAM 2021 (nº 50)

FGV2021Perito Criminal - 4ª Classe - Processamento de DadosTecnologia da Informação
Gabarito: Cver comentário ↓

ATENÇÃO!
Nas duas próximas questões, considere as tabelas de banco de dados:

  • T1, com uma única coluna A1, onde A1 é a chave primária;
  • T2, com uma única coluna A2, onde A2 é a chave primária, e A2 é também uma chave estrangeira que referencia T1.

As instâncias de T1 e T2 contêm, respectivamente, 12 e 10 linhas.



Com referência às tabelas T1 e T2, descritas anteriormente, o comando SQL

select t1.A1, t2.A2
from T1 t1 LEFT JOIN T2 t2 on t1.A1 = t2.A2
order by 1

produzirá um resultado com

Resposta comentada

Gabarito Alternativa C

Um LEFT JOIN (ou junção à esquerda) combina dados de duas tabelas, garantindo que todas as linhas da tabela à esquerda (a primeira tabela mencionada) sejam incluídas no resultado. Se uma linha da tabela à esquerda não tiver correspondência na tabela à direita, os campos da tabela à direita para essa linha serão preenchidos com NULL.

  • (A) Incorreta: Um LEFT JOIN sempre retorna pelo menos todas as linhas da tabela à esquerda, então nunca será zero linhas se a tabela à esquerda não estiver vazia.
  • (B) Incorreta: Esta seria a quantidade de linhas se fosse um INNER JOIN, que retorna apenas as linhas que têm correspondência em ambas as tabelas. No entanto, um LEFT JOIN inclui todas as linhas da tabela da esquerda, mesmo sem correspondência. A armadilha aqui é confundir LEFT JOIN com INNER JOIN ou pensar que o número de linhas é limitado pela tabela menor que possui correspondências.
  • (C) Correta: A tabela T1 é a tabela à esquerda (FROM T1 t1). Como T1 possui 12 linhas, o LEFT JOIN garantirá que todas essas 12 linhas sejam incluídas no resultado. Para as 10 linhas de T1 que têm correspondência em T2 (já que T2.A2 é chave estrangeira de T1.A1 e T2 tem 10 linhas), os valores de t1.A1 e t2.A2 serão exibidos. Para as 2 linhas de T1 que não têm correspondência em T2, o valor de t1.A1 será exibido, e t2.A2 será NULL. O total de linhas será 12.
  • (D) Incorreta: Esta alternativa sugere uma soma das linhas das duas tabelas, o que não é o comportamento de um LEFT JOIN com uma condição de junção específica.
  • (E) Incorreta: Esta alternativa sugere um produto cartesiano (12 * 10), o que ocorreria se não houvesse uma condição ON ou se ela fosse sempre verdadeira, o que não é o caso aqui.

Fonte: FGV PCAM 2021 Perito Criminal - 4ª Classe - Processamento de Dados (Caderno Tipo 1). 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