Pular para o conteúdo principal

Questão de Banco de Dados — PostgreSQL — FGV 2018

Banco de DadosPostgreSQL
Código
fg032275
Banca
FGV
Órgão
Câmara de Salvador - BA
Ano
2018
Nível
Superior
Cargo
Analista de Tecnologia da Informação
Analise o script a seguir, no âmbito do PostgreSQL.CREATE TABLE T (chave serial NOT NULL PRIMARY KEY,dados json NOT NULL);INSERT INTO T (dados)VALUES('{ "nome": "Maria", "notas":{"disciplina":"Fisica","nota": 10}}'),('{ "nome": "Pedro", "notas":{"disciplina":"Calculo","nota": 9}}');O comando SQL que produz corretamente uma lista dos alunos, com a matrícula, nome e respectivas disciplinas e notas é:
  1. ASELECTchave matricula,dados.nome AS aluno,dados.notas.disciplina disc,dados.notas.nota grauFROM T;
  2. BSELECTchave matricula,dados!'nome' AS aluno,dados!'notas'>>'disciplina' disc,dados!'notas'>>'nota' grauFROM T;
  3. CSELECTchave matricula,dados -> 'nome' AS aluno,dados -> 'notas' ->> 'disciplina' disc,dados -> 'notas' ->> 'nota' grauFROM T;
  4. DSELECTchave matricula,nome AS aluno,notas ->> 'disciplina' disc,notas ->> 'nota' grauFROM T;
  5. ESELECTchave matricula,dados -> 'nome' AS aluno,dados -> 'notas.disciplina' disc,dados -> 'notas.nota' grauFROM T;
Revelar gabarito e comentário

GabaritoC — SELECT chave matricula, dados -> 'nome' AS aluno, dados -> 'notas' ->> 'disciplina' disc, dados -> 'notas' ->> 'nota' grau FROM T;

Link permanente: /questoes/fg032275