Pular para o conteúdo principal

Questão de Banco de Dados — Conceitos Básicos em Banco de Dados — CESGRANRIO 2023

Banco de DadosConceitos Básicos em Banco de Dados
Código
cg019851
Banca
CESGRANRIO
Órgão
Transpetro
Ano
2023
Nível
Superior
Cargo
Profissional de Nível Superior - Junior: Ênfase: 4: Análise de Sistemas - Infraestrutura
Considere um banco de dados de uma empresa contendo a tabela HIERARQUIA, que possui as colunas Chefe e Subordinado definindo uma hierarquia de cargos. Considere, também, uma instância que permite ilustrar as informações contidas nesta tabela.Imagem associada para resolução da questãoUma consulta feita para determinar os subordinados, diretos ou indiretos, do Carlos retorna os seguintes nomes: {Juliana, Lucas, Daniela e Antônio}.A expressão, na linguagem de consultas SQL, para esta consulta é
  1. AWITH RECURSIVE subordinados AS (SELECT SUBORDINADOFROM HIERARQUIAWHERE CHEFE = 'Carlos'UNIONSELECT t.SUBORDINADOFROM HIERARQUIA tJOIN subordinados s ON t.CHEFE = s.SUBORDINADO)SELECT SUBORDINADO FROM subordinados;
  2. BWITH RECURSIVE subordinados AS (SELECT CHEFEFROM HIERARQUIAWHERE SUBORDINADO = 'Carlos'UNION ALLSELECT t.CHEFEFROM HIERARQUIA tJOIN subordinados s ON t.SUBORDINADO = s.CHEFE)SELECT CHEFE FROM subordinados;
  3. CWITH RECURSIVE subordinados AS (SELECT SUBORDINADOFROM HIERARQUIAWHERE CHEFE = 'Carlos'UNION ALLSELECT t.SUBORDINADOFROM HIERARQUIA tJOIN subordinados s ON t.CHEFE = s.SUBORDINADO)SELECT SUBORDINADO FROM subordinados;
  4. DWITH subordinados AS (SELECT SUBORDINADOFROM HIERARQUIAWHERE CHEFE = 'Carlos'UNION ALLSELECT t.SUBORDINADOFROM HIERARQUIA tJOIN subordinados s ON t.SUBORDINADO = s.CHEFE)SELECT SUBORDINADO FROM subordinados;
  5. EWITH RECURSIVE subordinados AS (SELECT SUBORDINADOFROM HIERARQUIAWHERE CHEFE = 'Carlos'UNION ALLSELECT t.CHEFEFROM HIERARQUIA tJOIN subordinados s ON t.SUBORDINADO = s.CHEFE)SELECT SUBORDINADO FROM subordinados;
Revelar gabarito e comentário

GabaritoC — WITH RECURSIVE subordinados AS ( SELECT SUBORDINADO FROM HIERARQUIA WHERE CHEFE = 'Carlos' UNION ALL SELECT t.SUBORDINADO FROM HIERARQUIA t JOIN subordinados s ON t.CHEFE = s.SUBORDINADO ) SELECT SUBORDINADO FROM subordinados;

Link permanente: /questoes/cg019851