FC ConcursosFC Concursos

Questão FC688348

Texto para a questão As tabelas Aluno, Curso e Departamento são tabelas de um banco de dados de cadastro de alunos e cursos de uma universidade. tabela Aluno aluno_id INT (PK) nome

Linguagem SQL

QUADRIX · 2025

Texto para a questão

 

As tabelas Aluno, Curso e Departamento são tabelas de um banco de dados de cadastro de alunos e cursos de uma universidade.

 

tabela Aluno

aluno_id

INT (PK)

nome_aluno

CHAR (200)

data_nascimento

DATE

curso_id

INT (FK)

 

tabela Curso

curso_id

INT (PK)

nome_aluno

CHAR (200)

departamento_id

INT (FK)

 

tabela Departamento

departamento_id

INT (PK)

nome_departamento

CHAR (200)

 

Na tabela Aluno, o atributo aluno_id identifica unicamente cada estudante, determinando seu nome, data de nascimento e o curso em que está matriculado (aluno_ id → nome_aluno, data_nascimento, curso_id). Na tabela Curso, o curso_id é o identificador que determina o nome do curso e o departamento ao qual ele pertence (curso_id → nome_curso, departamento_id). Já na tabela Departamento, o departamento_id define unicamente o nome do departamento (departamento_id → nome_departamento).

 

Considerando ainda a situação hipotética apresentada, e que essa universidade queira selecionar todos os estudantes do curso de marketing e administração que completam 20 anos em 2026 para participarem de um projeto de inserção no mercado de trabalho, assinale a opção que corresponde à consulta SQL que retornará essa lista de estudantes ordenada em ordem alfabética.

  1. SELECT nome_aluno

    FROM Aluno

    WHERE nome_aluno IN (‘Marketing’, ‘Administração’)

    AND EXTRACT(YEAR FROM data_nascimento) = 2006

    ORDER BY nome_aluno;

  2. SELECT a.nome_aluno

    FROM Aluno a

    JOIN Curso c ON a.curso_id = c.curso_id

    WHERE c.nome_curso IN (‘Marketing’, ‘Administração’)

    AND EXTRACT(YEAR FROM a.data_nascimento) = 2026

    ORDER BY a.nome_aluno;

  3. SELECT a.nome_aluno

    FROM Aluno a

    JOIN Curso c ON a.curso_id = c.curso_id

    WHERE c.nome_curso IN (‘Marketing’, ‘Administração’)

    AND EXTRACT(YEAR FROM a.data_nascimento) = 2006

    ORDER BY a.nome_aluno ASC;

  4. SELECT nome_aluno

    FROM Aluno

    WHERE curso_id IN (‘Marketing’, ‘Administração’)

    AND YEAR(data_nascimento) = 2006

    ORDER BY nome_aluno;

  5. SELECT a.nome_aluno, c.nome_curso

    FROM Aluno a

    JOIN Curso c ON a.curso_id = c.curso_id

    WHERE EXTRACT(YEAR FROM a.data_nascimento) = 2006

    ORDER BY c.nome_curso DESC;

Mostrar resposta e comentário

Gabarito

Certo

Comentário do professor

A consulta traz apenas o nome dos estudantes com a combinação de filtros necessários. O SELECT a.nome_aluno indica que retorna só o nome do aluno, e os aliases a e c tornam a leitura mais clara.

O JOIN entre Aluno e Curso via a.curso_id = c.curso_id garante que cada aluno seja relacionado ao respectivo curso para possibilitar a filtragem por nome do curso.

O filtro WHERE c.nome_curso IN ('Marketing','Administração') seleciona ambos os cursos de interesse usando IN, que é mais conciso que múltiplas comparações.

A condição de idade usa a extração do ano de nascimento: EXTRACT(YEAR FROM a.data_nascimento) = 2006, pois 2026 menos 20 anos resulta em \(2026-20=2006\), garantindo que completem 20 anos em 2026.

Por fim, ORDER BY a.nome_aluno ASC organiza os resultados em ordem alfabética crescente, conforme solicitado.

Conteúdo do catálogo FC Concursos · Atualizado em

Continue aprendendo