Questão de Banco de Dados — SQL — FGV 2022
- Código
- fg049444
- Banca
- FGV
- Órgão
- PC-AM
- Ano
- 2022
- Nível
- Superior
- Cargo
- Perito Criminal - 4ª Classe - Processamento de Dados
- A120 linhas.
- B110 linhas.
- C100 linhas.
- D90 linhas
- E20 linhas.
GabaritoB — 110 linhas.
Gabarito: letra B. O comando SELECT t1.A1, t2.A2 FROM T1,T2 WHERE t1.A1 <> t2.A2 produz 110 linhas. Isso porque o produto cartesiano de T1 (12 linhas) e T2 (10 linhas) gera 120 combinações, e a condição de desigualdade elimina as 10 combinações onde A1 é igual a A2, dado que A2 é chave estrangeira de A1 e, portanto, cada um dos 10 valores de A2 corresponde a um único valor de A1 (chave primária).
Análise das alternativas:
Afirma 120 linhas. Esse seria o resultado sem a cláusula WHERE (produto cartesiano puro), mas a condição de desigualdade reduz o total.
Resultado correto: 120 - 10 = 110 linhas.
100 linhas. Esse valor não corresponde ao cálculo correto.
90 linhas. Idem.
20 linhas. Seria o resultado de um INNER JOIN com igualdade (10 linhas) ou algo similar, mas não é o caso.
Lembre-se de que o produto cartesiano (vírgula na cláusula FROM) sem condição de junção gera todas as combinações possíveis. A chave estrangeira garante que os valores de T2 existem em T1, mas não que todos os valores de T1 apareçam em T2. Subtraia apenas as combinações exatas onde A1 = A2.
Link permanente: /questoes/fg049444