Tendo como referência o diagrama de entidade relacionamento ...
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
);