Matéria SQL
SISTEMAS DE INFORMAÇÃO PARA A GESTÃO
2º Teste de avaliação
17 de Maio de 2011
Duração: 1h30m
NOME:
Nº:
TURMA:
Uma BD Access, já preenchida, cujos atributos e chaves primárias estão de acordo com o esquema da Figura 1. Deverá desenvolver as consultas (queries) à BD que dêem resposta às questões abaixo.
Deverá transcrever a consulta desenvolvida que lhe permite dar resposta a cada questão, em formato SQL, para a folha de papel deste enunciado. Apenas o que estiver transcrito será classificado.
Figura 1: BD da Escola de Condução “Carta Certa”
1) (2 valores) Listar todos os atributos dos alunos provenientes de Lisboa.
Resposta:
SELECT * FROM Aluno
WHERE Cidade="Lisboa";
2) (1 valor) Listar o Nome e Custo por aula de todos os cursos.
Resposta:
SELECT NomeCurso, CustoAula
FROM Curso;
3) (3 valores) Listar, por ordem ascendente de Nome e descendente de Data de Nascimento do Aluno o Nome e Data de
Nascimento do Aluno, Nome do Curso, Data de Matrícula e nº de Aulas dos Alunos inscritos no curso “Categoria B: Ligeiros”.
Resposta:
SELECT Nome, DataNascimento, NomeCurso, Data, NrAulas
FROM Curso INNER JOIN (Aluno INNER JOIN Inscricao ON Aluno.ID_Aluno = Inscricao.Aluno) ON Curso.ID_Curso =
Inscricao.Curso
WHERE NomeCurso="Categoria B: Ligeiros"
ORDER BY Aluno.Nome, Aluno.DataNascimento DESC;
4) (2 valores) Quantos alunos de cada sexo já pagaram a sua inscrição? Liste:
Resposta:
SELECT Sexo, COUNT(*) AS [Nº Alunos Pagou]
FROM Aluno INNER JOIN Inscricao ON Aluno.ID_Aluno = Inscricao.Aluno
WHERE Pago=TRUE
GROUP BY Sexo;
5) (2 valores) Listar o Nome, Data de Nascimento e Cidade dos alunos que não estão ainda inscritos em qualquer curso.
Resposta:
SELECT Nome, DataNascimento, Cidade
FROM Aluno LEFT JOIN Inscricao ON Aluno.ID_Aluno = Inscricao.Aluno
WHERE ID_Matricula IS NULL;
INSTITUTO SUPERIOR DE CONTABILIDADE E ADMINISTRAÇÃO DE LISBOA
SISTEMAS DE INFORMAÇÃO PARA