

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Atenção: nas próximas duas questões, considere a estrutura e a instância da tabela descendência, exibida a seguir.
pessoa1 | relação | pessoa2 |
Rafael | filha(o) | João |
Rafael | filha(o) | Maria |
Gabriela | filha(o) | Rafael |
Rita | filha(o) | Rafael |
Rita | filha(o) | Bruna |
Ana | filha(o) | Bruna |
Bruna | filha(o) | Aurora |
Pedro | filha(o) | Rita |
Cada linha significa que a “pessoa1” tem a “relação” descrita em relação à “pessoa2”. Por exemplo, Rafael é filha(o) de João, e Pedro é filha(o) de Rita.
Com relação à tabela descrita anteriormente, é preciso processar os dados e inserir na tabela a relação “neta(o)”. Os novos registros terão os nomes dos netos na primeira coluna, o valor “neta(o)” na segunda e, na terceira coluna, os nomes do respectivos avós ou avôs.
Considerando a sintaxe do MS SQL Server, assinale o comando SQL que executaria essa inserção.
insert into descendencia
select d1.pessoa1, 'neta(o)', d2.pessoa2
from descendencia d1, descendencia d2
where d1.relação = 'filha(o)'
and d2.relação = d1.relação
insert into descendencia
select d1.pessoa1, 'neta(o)', d2.pessoa2
from descendencia d1, d2
where d1.relação = 'filha(o)'
and d2.relação != d1.relação
and d2.pessoa1 = d1.pessoa2
insert into descendencia
select d1.pessoa1, 'neta(o)', d2.pessoa2
from d1, d2
where d1.relação = 'filha(o)'
and d2.relação = d1.relação
and d2.pessoa1 = d1.pessoa2
insert into descendencia
select d1.pessoa1, 'neta(o)', d2.pessoa2
from descendencia d1, descendencia d2
where d1.relação = 'filha(o)'
and d2.relação = d1.relação
and d2.pessoa1 = d1.pessoa2
insert into descendencia
select d1.pessoa1, 'neta(o)', d2.pessoa2
from descendencia d1, descendencia d2
where d1.relação = 'filha(o)'
and d2.relação != d1.relação
and d2.pessoa1 != d1.pessoa2