
Tendo como referência o diagrama de entidade
relacionamento precedente, julgue o próximo item, a respeito de linguagem de definição de dados e
SQL.
Considerando-se
o diagrama apresentado, é correto afirmar
que a execução das expressões SQL a seguir, em um
SGBD
PostgreSQL 9.4 ou superior, permite gerar o resultado
apresentado na tabela mostrada
imediatamente após a
expressão.
insert into aluno values (1,'Fulano');
insert into
aluno values (2,'Cicrano');
insert into aluno values (3,'Beltrano
');
insert into disciplina
(id, descricao) values
(1,'Matemática');
insert into disciplina (id, descricao) values
(3,
'História');
insert into disciplina (id, descricao) values
(5,'Geografia');
insert into matricula (aluno, disciplina,
ano, nota) values (1, 1, 2020, 6.5);
insert into matricula
(aluno, disciplina,
ano, nota) values (1, 3, 2020, 9.5);
insert into matricula (aluno, disciplina,
ano, nota) values (1, 5, 2020, 10.0);
insert into matricula (aluno, disciplina,
ano, nota) values (3, 3, 2020, 8.5);
insert into matricula
(aluno, disciplina,
ano, nota) values (3, 1, 2020, 5.6);
insert into matricula (aluno, disciplina,
ano, nota) values (3, 5, 2020, 7.7);
SELECT *
FROM crosstab( $
$
select a.nome, d.descricao, m.nota
from matricula m
left join aluno a on
a.id=m.aluno
left join disciplina d on d.id=m.disciplina
order by 1,2
$$)
as final_result(
nome
varchar,
geografia numeric,
historia numeric,
matematica numeric
);
