Questão 67437

Tecnologia da Informação · 2025

Questão

ID 67437

Disciplina: Tecnologia da Informação

Assuntos: Junção, Select

Ano: 2025 Banca: PERFIL - ENADE Órgão: Quarto Simulado Pnd


Um professor de um curso técnico de Desenvolvimento de Sistemas está ensinando sobre a linguagem SQL e quer que seus alunos dominem a operação de `JOIN`, que é fundamental para consultar dados de múltiplas tabelas em um banco de dados relacional. Ele apresenta duas tabelas:

Tabela `ALUNOS` | ID_Aluno | Nome_Aluno | |----------|------------| | 1 | Ana | | 2 | Bruno | | 3 | Carla |

Tabela `MATRICULAS` | ID_Matricula | ID_Aluno_FK | ID_Curso_FK | |--------------|-------------|-------------| | 101 | 1 | 10 | | 102 | 2 | 20 | | 103 | 1 | 20 | | 104 | 4 | 30 |

Ele explica a diferença entre `INNER JOIN` e `LEFT JOIN`: "O `INNER JOIN` (ou simplesmente `JOIN`) retorna apenas as linhas onde a condição de junção (a correspondência entre a chave primária e a estrangeira) é verdadeira em *ambas* as tabelas. Linhas de uma tabela que não têm uma correspondência na outra são descartadas. O `LEFT JOIN` (ou `LEFT OUTER JOIN`), por outro lado, retorna *todas* as linhas da tabela da 'esquerda' (a primeira tabela mencionada), e as linhas correspondentes da tabela da direita. Se não houver uma correspondência na tabela da direita, as colunas dessa tabela aparecerão com o valor `NULL`."

Ele então pede aos alunos para preverem o resultado de duas consultas SQL.

Consulta 1 (INNER JOIN): `SELECT A.Nome_Aluno, M.ID_Curso_FK FROM ALUNOS A INNER JOIN MATRICULAS M ON A.ID_Aluno = M.ID_Aluno_FK;`

Consulta 2 (LEFT JOIN): `SELECT A.Nome_Aluno, M.ID_Curso_FK FROM ALUNOS A LEFT JOIN MATRICULAS M ON A.ID_Aluno = M.ID_Aluno_FK;`

Qual será o resultado de cada consulta?

Alternativas da questão 67437
Pular para o conteúdo principal