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.
- SELECT nome_aluno
FROM Aluno
WHERE nome_aluno IN (‘Marketing’, ‘Administração’)
AND EXTRACT(YEAR FROM data_nascimento) = 2006
ORDER BY nome_aluno;
- 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;
- 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;
- SELECT nome_aluno
FROM Aluno
WHERE curso_id IN (‘Marketing’, ‘Administração’)
AND YEAR(data_nascimento) = 2006
ORDER BY nome_aluno;
- 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