Dados em tabelas diferentes podem compor um conjunto de resultados em um comando de SELECT através das junções. Alguns tipos de junções são as junções internas e as junções externas, estas últimas podem ser pela esquerda ou pela direita.
Em um sistema de uma universidade existe o cadastro de Alunos e o de Cursos, onde em aluno pode conter apenas um curso e em curso pode conter vários cursos. Em uma consulta foi feita uma junção (join) entre as tabelas Alunos e Cursos e na consulta SELECT, Alunos e Cursos estão escritas nesta ordem (Alunos primeiro, antes de Cursos). O resultado da consulta está expresso na tabela a seguir:
Matrícula
Nome
Cod_Curso
Dcr_Curso
322871
Joana Vieira
2
Engenharia Elétrica
322609
Márcio Nogueira
2
Engenharia Elétrica
212320
Cristiano Azevedo
12
Direito
212201
Lúcia Vergamini
12
Direito
NULL
NULL
4
Gestão Ambiental
Quadro - Resultado de consulta com junção entre Alunos e Cursos
Fonte: Elaborado pelo autor (2019).
Qual foi a junção realizada nesta consulta?
Soluções para a tarefa
Respondido por
31
Resposta:
Right Outer Join
Explicação:
A alternativa correta envolve um RIGHT outer join pois existe um curso (última linha) sem aluno e como curso aparece por último, é tabela da direita. Se fosse inner joint, não haveriam linhas com valores null nos campos do join. O left outer join, teria alunos com cursos com valor nulo, isto é, alunos (esquerda) sem cursos. Um full join geraria valores null’s em ambos os lados, tanto em curso como em alunos. E ao escrever apenas join indica que é um inner join e daí não existiria linhas com valores null.
Perguntas interessantes