Questão FC90550
Em um banco de dados relacional, foram criadas as seguintes relações, posteriormente transformadas e preenchidos seus dados em tabelas. As chaves primárias estão realçadas em itáli
Linguagem SQL
CEBRASPE (CESPE) · 2022
Em um banco de dados relacional, foram criadas as seguintes relações, posteriormente transformadas e preenchidos seus dados em tabelas. As chaves primárias estão realçadas em itálico.
professor (cpf_professor, nome, titulação,
salario)
curso (cod_curso, titulo, objetivo,
cpf_professor_coord)
contrato (cpf_professor, cod_curso, data_inicio)
Tendo como referência as informações precedentes, julgue o item subsecutivo.
O comando SQL a seguir cria uma visão com todos os dados dos professores e dos respectivos cursos que eles coordenam, não incluindo os cursos sem um professor com a função de coordenador.
create view coordenador_curso as
select * from professor p left outer join
curso s on true
where p.cpf_professor = s.cpf_professor_coord;
select * from professor p left outer join
curso s on true
where p.cpf_professor = s.cpf_professor_coord;
Mostrar resposta e comentário
Gabarito
Certo
Comentário do professor
Comentário: A consulta SQL apresentada está correta, pois:
- Uso do LEFT OUTER JOIN:
- O comando
LEFT OUTER JOINinclui todos os professores, mesmo aqueles que não coordenam cursos. - No entanto, a cláusula
WHERE p.cpf_professor = s.cpf_professor_coordtransforma oLEFT OUTER JOINem umINNER JOIN, pois está filtrando apenas os registros onde há correspondência entre professor e curso.
- O comando
- Filtro para remover cursos sem coordenador:
- A cláusula
WHERE p.cpf_professor = s.cpf_professor_coordremove os cursos sem professor coordenador, pois elimina os registros ondecpf_professor_coordé NULL.
coordenador_curso lista apenas professores que são coordenadores de cursos, sem incluir cursos sem coordenador.Conteúdo do catálogo FC Concursos · Atualizado em