Para gerar um gráfico de dispersão, um programador precisava consultar dua...

Para gerar um gráfico de dispersão, um programador precisava consultar duas tabelas, T1 e T2. Ele decidiu, então, usar um LEFT JOIN, como em SELECT * FROM T1 LEFT JOIN T2 USING (CHAVE)...


publicidade

Para gerar um gráfico de dispersão, um programador precisava consultar duas tabelas, T1 e T2. Ele decidiu, então, usar um LEFT JOIN, como em

SELECT * FROM T1 LEFT JOIN T2 USING (CHAVE);

Essa consulta resultou em 214 linhas.

Por motivos de segurança, ele fez outra consulta semelhante, apenas trocando o LEFT JOIN por um JOIN, e essa segunda consulta resultou em 190 linhas.

O que pode explicar corretamente a quantidade diferente de linhas nas consultas realizadas?

publicidade

🚀 Desbloqueie a explicação completa

Veja comentários detalhados e resoluções exclusivas para entender o gabarito desta questão.

Criar conta grátis
  • Marcos de Castro
    Marcos de Castro EQUIPE
    03/01/2025 • 20:15
    Gabarito: c)

    Quando utilizamos um LEFT JOIN, todas as linhas da tabela à esquerda (T1, no caso) são mantidas no resultado final, mesmo que não haja correspondência na tabela à direita (T2). Isso significa que, se houver linhas em T1 que não possuem correspondência em T2, elas ainda serão exibidas no resultado, porém com valores nulos para as colunas de T2.

    Por outro lado, ao utilizar um INNER JOIN (ou simplesmente JOIN), apenas as linhas que possuem correspondência em ambas as tabelas são mantidas no resultado final. Portanto, se houver linhas em T1 que não possuem correspondência em T2, essas linhas serão excluídas do resultado.

    Assim, a diferença de quantidade de linhas entre as consultas com LEFT JOIN e JOIN pode ser explicada pelo fato de que T1 possui linhas cujo valor da CHAVE não está presente na tabela T2, o que faz com que essas linhas sejam mantidas no resultado do LEFT JOIN, mas sejam excluídas no resultado do JOIN.

Utilizamos cookies e tecnologias semelhantes para aprimorar sua experiência. Política de Privacidade.