Questão nº 40

Questão de Tecnologia da Informação · FGV TCE-TO 2022 (nº 40)

FGV2022Auditor de Controle Externo - Tecnologia da InformaçãoTecnologia da Informação
Gabarito: Cver comentário ↓

Considere um banco de dados com três tabelas, T1, T2 e T3, respectivamente com 7, 13 e 19 linhas. Nas três tabelas, a coluna é definida como UNIQUE.
Nessas circunstâncias, a execução do comando SQL

```
SELECT * FROM T1
LEFT JOIN T2 ON T1.A=T2.A
RIGHT JOIN T3 ON T1.A=T3.A
```

deverá produzir um resultado que contenha, além da linha de títulos, no mínimo e no máximo:

Resposta comentada

Gabarito Alternativa C

Conceito-chave: LEFT JOIN mantém todas as linhas da tabela da esquerda (T1) e preenche com NULL quando não há correspondência; RIGHT JOIN mantém todas as linhas da tabela da direita (T3). Como a coluna A é UNIQUE em todas as tabelas, cada valor de A aparece no máximo uma vez em cada tabela, então não há multiplicação de linhas por repetição — o resultado final é sempre o número de linhas da tabela que "manda" no último join.

  • (A) Incorreta: 7 e 13 linhas não são possíveis, pois o RIGHT JOIN com T3 (19 linhas) garante que o resultado tenha pelo menos 19 linhas (todas as de T3 aparecem), nunca menos.
  • (B) Incorreta: 13 e 19 linhas mistura o tamanho de T2 com T3, mas o RIGHT JOIN final é sobre T3, então o mínimo já é 19; o máximo também é 19, pois não há duplicação (UNIQUE impede múltiplas correspondências).
  • (C) Correta: o LEFT JOIN T1-T2 produz no máximo 7 linhas (todas de T1, com NULL onde não há par em T2). Depois, o RIGHT JOIN com T3 (19 linhas) força todas as 19 linhas de T3 a aparecerem. Como A é UNIQUE em T3, cada linha de T3 casa com no máximo uma linha do resultado anterior (que também tem A único), então o resultado final tem exatamente 19 linhas — nem mais, nem menos.
  • (D) Incorreta: 26 e 133 linhas seriam possíveis se houvesse duplicação de valores em A (produto cartesiano parcial), mas UNIQUE impede qualquer repetição, então o máximo é 19, não 133.
  • (E) Incorreta: 39 e 1.729 linhas corresponderiam a somar ou multiplicar os tamanhos das três tabelas (7+13+19=39; 7×13×19=1.729), mas isso só ocorreria sem a restrição UNIQUE e com joins sem condição de igualdade — aqui a condição ON com coluna única limita tudo a 19.

Armadilha do distrator mais tentador (D): a banca quer que você pense que LEFT JOIN + RIGHT JOIN "soma" ou "multiplica" linhas, mas a restrição UNIQUE na coluna A elimina qualquer repetição — cada valor de A em T3 casa com no máximo uma linha do resultado intermediário, então o total é fixo em 19.

Fonte: FGV TCE-TO 2022 Auditor de Controle Externo - Tecnologia da Informação (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