VUNESP — Analista Judiciário - Informática — Banco de Dados — 2023

Enunciado

Considere as duas seguintes tabelas de um banco de dados relacional: Curso (ID, Especialidade, Tipo) Aluno (Número, Nome, Cidade, ID) ID é chave estrangeira na tabela Aluno, com origem na chave primária ID de Curso. O comando SQL para obter o nome dos alunos, a especialidade e o tipo de curso em que estão matriculados é:

Alternativas

  1. A)

    SELECT Nome, Especialidade, Tipo FROM Curso, Aluno;

  2. B)

    SELECT Nome, Especialidade, Tipo FROM Curso.ID = Aluno.ID;

  3. C)

    SELECT Nome, Especialidade, Tipo FROM Curso, Aluno WHERE ID = ID;

  4. D)

    SELECT Nome, Especialidade, Tipo FROM Curso, Aluno (Curso.ID = Aluno.ID);

  5. E)

    SELECT Nome, Especialidade, Tipo FROM Curso, Aluno WHERE Curso.ID = Aluno.ID;

Gabarito e comentário

Resposta correta: E

A alternativa E está correta. As tabelas precisam ser relacionadas pela chave ID. A condição Curso.ID = Aluno.ID associa cada aluno ao curso em que está matriculado, enquanto a lista do SELECT retorna Nome, Especialidade e Tipo. Sem essa condição, ocorre produto cartesiano. A qualificação do nome das colunas também evita ambiguidade entre os dois campos chamados ID. Assim, a resposta é: SELECT Nome, Especialidade, Tipo FROM Curso, Aluno WHERE Curso.ID = Aluno.ID;

Questões relacionadas