Analise a consulta SQL a seguir.Linha 1: SELECT a.nome, b.so...

Próximas questões
Com base no mesmo assunto
Q762378 Banco de Dados

Analise a consulta SQL a seguir.


Linha 1: SELECT a.nome, b.sobrenome, c.rua, d.telefone

Linha 2: FROM pessoa a, pessoa b, endereco c, telefone d

Linha 3: ?

Linha 4: ORDER BY 1;


Assinale a alternativa que indica o número mínimo de JOINs que deve ser especificado na linha 3 da consulta SQL acima, de modo que os campos nos registros de saída pertençam todos à mesma pessoa. 

Alternativas

Gabarito comentado

Confira o gabarito comentado por um dos nossos professores

A alternativa correta é a C - Três.

Para resolver essa questão, é necessário entender a operação de JOIN em SQL, que é usada para combinar linhas de duas ou mais tabelas, com base em uma coluna relacionada entre elas. Nesse caso, queremos garantir que as informações selecionadas (nome, sobrenome, rua e telefone) pertençam à mesma pessoa.

Considerando a consulta SQL fornecida:

  • O trecho "SELECT a.nome, b.sobrenome, c.rua, d.telefone" sugere que cada letra (a, b, c, d) representa um alias para uma tabela diferente (ou diferentes instâncias da mesma tabela).
  • O trecho "FROM pessoa a, pessoa b, endereco c, telefone d" indica que estamos lidando com quatro conjuntos de dados. Assume-se que 'pessoa' e 'endereco' estejam relacionados, assim como 'pessoa' e 'telefone'.

Para assegurar que todas as informações se refiram à mesma pessoa, precisamos de ligações (JOINs) que conectem:

  1. A tabela de pessoas com a tabela de endereços;
  2. A tabela de pessoas com a tabela de telefones;
  3. As duas instâncias da tabela de pessoas para garantir que o nome e o sobrenome se refiram à mesma entrada.

Portanto, são necessários três JOINs:

  • Um para ligar pessoa a endereco;
  • Outro para ligar pessoa a telefone;
  • E um terceiro para garantir que nome e sobrenome venham da mesma pessoa, isto é, ligando as instâncias a e b da tabela pessoa.

Esses JOINs asseguram que os registros de saída serão consistentes e pertencerão à mesma pessoa, uma vez que haverá uma condição de correspondência que conecta as linhas pertinentes. O uso incorreto ou insuficiente de JOINs levaria a resultados errôneos, com combinações de registros que não correspondem à mesma pessoa.

Assim, a alternativa C - Três é a correta, pois indica o número mínimo de JOINs necessários para cumprir a condição especificada na questão.

Clique para visualizar este gabarito

Visualize o gabarito desta questão clicando no botão abaixo

Comentários

Veja os comentários dos nossos alunos

[pessoa A] JOIN [pessoa B] JOIN [endereco C] JOIN [telefone d] >> 3 JOIN's no total

Clique para visualizar este comentário

Visualize os comentários desta questão clicando no botão abaixo