Baixe o app para aproveitar ainda mais
Prévia do material em texto
Universidade Estácio de Sá Pós-Graduação em Engenharia de Software Disciplina: Projeto e Otimização de Banco de Dados Professor: Renato Augusto dos Santos Cortes Recife 2018 Escreva as sentenças em SQL para responder as seguintes proposições: a) Código e nome das disciplinas com carga horária entre 3 e 5 inclusive e que não sejam da área de Saúde. Select CodD, NomeD From Disciplina Where CargaD between 3 and 5 and AreaD <> 'Saúde' b) Nome das disciplinas com carga horária menor que 5 e que sejam ministradas por professores doutores. Select distinct d.NomeD From Disciplina d join Grade g on g.CodD = d.CodD join Professor p on p.CodP = g.CodP where d.CargaD < 5 and p.TituloP = 'Doutor' c) Salas onde haverá aulas cujos cursos possuam duração superior a 3 anos e cujas disciplinas não sejam nem da área de Matemática, nem de Saúde e nem de Humanas e cujo professor seja Paulo, Joaquim ou Juliana. Select distinct g.Sala From Grade g Join Curso c on c.CodC = g.CodC join Disciplina d on d.CodD = g.CodD Join Professor p on p.CodP = g.CodP Where c.DuracaoC > 3 and ((d.AreaD not in ('Matematica', 'Saúde', 'Humanas')) or (d.AreaD is null)) and p.NomeP in ('Paulo', 'Joaquim', 'Juliana') d) Nomes dos professores que não ministram nenhuma disciplina. Select p.NomeP From Professor p Where p.CodP not in (Select distinct g.CodP from Grade g) e) Nomes das disciplinas e o nome dos respectivos pré-requisitos. Select d1.NomeD Disciplina , d2.NomeD PreReq From Disciplina d1 Join Disciplina d2 on d2.CodD = d1.PreReqD f) Nome das disciplinas que possuam carga horária maior que todas as disciplinas da área de Matemática. Select d.NomeD From Disciplina d Where d.CargaD > (Select Max(d2.CargaD) from Disciplina d2 Where d2.AreaD = 'Matemática') g) Código de cada disciplina, com a quantidade de cursos em que a mesma é oferecida. Select d.CodD, (Select count(distinct g.CodC) from grade g Where g.CodD = d.CodD) as Qtd_cursos From Disciplina d h) Carga horária média das áreas com carga horária média maior ou igual a 3. Select d.AreaD, Avg(d.CargaD) as CargMed From Disciplina d Group by d.AreaD Having Avg(d.CargaD) >= 3 i) Nome das disciplinas que não têm pré-requisito e que não são pré-requisito. Select d.NomeD From Disciplina d Where d.PreReqD is null And d.CodD not in (Select distinct d2. preReqD from Disciplina d2 Where d2.preReqD is not null) j) Nome dos cursos que têm a mesma duração do curso de Engenharia Elétrica e que têm mensalidade maior que a sua. Select c.NomeC from Curso c where c.DuracaoC = (select c2.DuracaoC from Curso c2 where c2.NomeC = 'Eng Elétrica') and c.MensC > (select c2.MensC from Curso c2 where c2. NomeC = 'Eng Elétrica') and c.NomeC <> 'Eng Elétrica'
Compartilhar