Perito Criminal - 4ª Classe - Processamento 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.
ATENÇÃO!Na próxima questão, considere as tabelas de banco de dados:Com referência às tabelas T1 e T2, descritas anteriormente, o comando SQLselect t1.A1, t2.A2from T1 t1 LEFT JOIN T2 t2 on t1. A1 = t2.A2order by 1produzirá um resultado com
Azero linhas.
B10 linhas.
C12 linhas.
D22 linhas.
E120 linhas.
Revelar gabarito e comentário▾
GabaritoC — 12 linhas.
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: LEFT JOIN e número de linhas
Gabarito: letra C. O comando LEFT JOIN retorna todas as linhas da tabela da esquerda (T1, com 12 linhas) e, quando não há correspondência na tabela da direita, preenche com NULL. Como T2 tem 10 linhas e todas elas possuem correspondência em T1 (pois A2 é chave estrangeira que referencia A1), mas T1 tem 2 linhas a mais, o resultado terá exatamente 12 linhas.
O raciocínio é direto: o LEFT JOIN preserva todas as linhas da tabela à esquerda, independentemente de haver ou não correspondência na direita. Assim, o número de linhas do resultado é sempre igual ao número de linhas da tabela da esquerda (T1 = 12). As alternativas que sugerem outros valores confundem o LEFT JOIN com outros tipos de junção:
Alternativa A — ❌ Incorreta
Zero linhas: impossível, pois o LEFT JOIN sempre retorna pelo menos as linhas de T1.
Alternativa B — ❌ Incorreta
10 linhas: este valor corresponderia a um INNER JOIN se todas as 10 linhas de T2 encontrassem correspondência, mas o LEFT JOIN não descarta as linhas de T1 sem match.
Alternativa C — ✅ Correta ⟵ GABARITO
12 linhas: todas as linhas de T1 são mantidas. Como T2 possui 10 linhas que referenciam T1 (chave estrangeira), as 10 linhas de T1 que têm correspondência aparecem com os dados de T2; as 2 linhas restantes de T1 aparecem com NULL na coluna A2. Total: 12 linhas.
Alternativa D — ❌ Incorreta
22 linhas: soma das linhas das duas tabelas (T1 12 + T2 10) – isso não é um comportamento de LEFT JOIN, que não faz união simples.
Alternativa E — ❌ Incorreta
120 linhas: produto cartesiano (12 × 10) – seria o resultado de um CROSS JOIN sem cláusula de junção, não de um LEFT JOIN.
O comportamento do LEFT JOIN é detalhado pelo padrão SQL (ISO/IEC 9075). A chave estrangeira em T2 garante que todos os valores de A2 existam em A1, mas não impede que T1 tenha valores não referenciados. Portanto, o resultado é sempre igual ao número de linhas de T1.