Trabalho banco
Por: Hafelpaf W • 9/1/2016 • Trabalho acadêmico • 1.459 Palavras (6 Páginas) • 485 Visualizações
-- 1) Listagem das Disciplinas e seus Estudantes matriculados, ordenados por Disciplina e nome do Estudante
-- select disciplina.nome , estudante.nome
-- from matricula JOIN estudante ON matricula.id_estudante = estudante.id
-- JOIN disciplina ON matricula.id_disciplina = disciplina.id order by disciplina.nome ,estudante.nome
-- 2) Número de Estudantes de uma Disciplina específica
-- select count(estudante.nome) as Total_Estudantes ,disciplina.nome
-- from matricula JOIN estudante ON matricula.id_estudante = estudante.id
-- JOIN disciplina ON matricula.id_disciplina = disciplina.id
-- WHERE disciplina.id = 1 group by disciplina.nome
-- 3)Listagem das Turmas e seus respectivos números de Estudantes matriculados
-- select disciplina.nome ,count(*) as Total_Estudantes
-- from matricula JOIN estudante ON matricula.id_estudante = estudante.id
-- JOIN disciplina ON matricula.id_disciplina = disciplina.id
-- group by disciplina.nome
-- 4)Listagem das Turmas e todas as Disciplinas a ela pertencentes
-- select DISTINCT turma.id as Turma, disciplina.nome as Disciplina
-- from disciplina JOIN turma ON disciplina.id_turma = turma.id
-- order by turma.id
-- 5) Listagem de todas as Disciplinas que um Estudante encontra-se matriculado
-- select estudante.id, estudante.nome,disciplina.nome
-- from matricula JOIN estudante ON matricula.id_estudante = estudante.id
-- JOIN disciplina ON matricula.id_disciplina = disciplina.id
-- JOIN turma ON disciplina.id_turma = turma.id
-- WHERE estudante.id = 45
-- GROUP BY estudante.id, estudante.nome,disciplina.nome
-- 6) Listagem de todas as Disciplinas de um Estudante num semestre
-- select estudante.id, estudante.nome,disciplina.nome, disciplina.semestre
-- from matricula JOIN estudante ON matricula.id_estudante = estudante.id
-- JOIN disciplina ON matricula.id_disciplina = disciplina.id
-- JOIN turma ON disciplina.id_turma = turma.id
-- WHERE estudante.id = 3 and semestre = '1'
-- GROUP BY estudante.id, estudante.nome,disciplina.nome, disciplina.semestre
-- 8) Listagem das distintas Disciplinas já ministradas por um Professor
-- select DISTINCT professor.nome, disciplina.nome
-- from disciplina JOIN professor ON disciplina.id_professor = professor.id
-- where professor.id = '3'
-- 9) Listagem do número de vezes que um Professor ministrou uma Disciplina
-- select professor.nome, disciplina.nome,count(*)
-- from disciplina JOIN professor ON disciplina.id_professor = professor.id
-- group by professor.nome, disciplina.nome
-- 10) Listagem das Disciplinas com o número de Professores que as ministraram e o nome do(s) Professor(es) que mais as ministraram
-- select disciplina.nome,count (*),max(professor.nome) as Ministracao
-- from disciplina JOIN professor ON disciplina.id_professor = professor.id
-- group by disciplina.nome order by count(*) desc
-- 11) Listagem do número total de Disciplinas distintas já ministradas por um Professor
-- select count(DISTINCT disciplina.nome )
-- from disciplina JOIN professor ON disciplina.id_professor = professor.id
-- where professor.id = '3'
-- 12) Listagem de todas as Disciplinas de um Professor num determinado semestre
-- select professor.nome, disciplina.nome
-- from disciplina JOIN professor ON disciplina.id_professor = professor.id
-- where professor.id = '3' and semestre = '1'
-- 13) Listagem de todas as Atividades Avaliativas de uma Disciplina
-- select disciplina.id, disciplina.nome, nota.nota1, nota.nota2, nota.nota_final
-- from nota JOIN disciplina ON nota.disciplina_id = disciplina.id
-- where disciplina.id = '4'
-- 14) Para uma dada Atividade Avaliativa gerar uma lista de todos os Estudantes e suas respectivas notas, ordenada da nota maior para a menor
-- select estudante.nome,nota.nota1
-- from nota JOIN disciplina ON nota.disciplina_id = disciplina.id
-- JOIN estudante ON nota.estudante_id = estudante.id
-- where disciplina.id = '1' order by nota.nota1 desc
-- 15) Para uma determinada Disciplina gerar a lista de todos os Estudantes e a média obtida nas atividades avaliativas
-- select estudante.nome, nota.nota_final
-- from nota JOIN disciplina ON nota.disciplina_id = disciplina.id
-- JOIN estudante ON nota.estudante_id = estudante.id
-- where disciplina.id = '1'order by nota_final desc
-- 16) Listagem dos Estudantes que não fizeram uma Atividade Avaliativa
-- select estudante.nome, nota.nota1, nota.nota2
-- from nota JOIN disciplina ON nota.disciplina_id = disciplina.id
-- JOIN estudante ON nota.estudante_id = estudante.id
-- where disciplina.id = '1' and (nota.nota1 IS NULL or nota.nota2 IS NULL)
-- 17) Listagem dos Estudantes que zeraram numa Atividade Avaliativa
-- select estudante.nome, nota.nota1, nota.nota2
-- from nota JOIN disciplina ON nota.disciplina_id = disciplina.id
-- JOIN estudante ON nota.estudante_id = estudante.id
-- where disciplina.id = '1' and (nota.nota1 = '0' or nota.nota2 = '0')
-- 18) Listagem dos Estudantes de uma Disciplina, ordenados pela média das maiores notas
-- select estudante.nome, nota.nota_final
-- from nota JOIN disciplina ON nota.disciplina_id = disciplina.id
-- JOIN estudante ON nota.estudante_id = estudante.id
-- where disciplina.id = '1' order by nota.nota_final desc
-- 20. Listagem por Curso de todas as Disciplinas e suas respectivas cargas horárias, ordenadas por período
select DISTINCT curso.nome, disciplina.nome, disciplina.carga_horaria,turma.periodo
...