Baixe o app para aproveitar ainda mais
Prévia do material em texto
Nome da Disciplina: Projeto e Otimização de Banco de Dados Professor Renato Cortes Aluna: Dayane S. Meireles Sejam as seguintes tabelas: 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<> 'SAUDE' b) Nome das disciplinas com carga horária menor que 5 e que sejam ministradas por professores doutores. SELECT DISTINCT NOMED AS NOME_DISCIPLINA FROM DISCIPLINA D JOIN GRADE G ON G.CODD= D.CODD JOIN PROFESSOR P ON P.CODP = G.CODP WHERE 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 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 IS NULL OR D.AREAD NOT IN ('MATEMATICA','SAUDE','HUMANAS') AND P.NOMEP IN ('PAULO','JOAQUIM','JULIANA') d) Nomes dos professores que não ministram nenhuma disciplina. SELECT NOMEP FROM PROFESSOR P WHERE NOT EXISTS (SELECT CODP FROM GRADE G WHERE G.CODP = P. CODP) e) Nomes das disciplinas e o nome dos respectivos pré-requisitos. SELECT D.NOMED as DISCILPINA,PRE.NOMED AS PRE_REQUISITO FROM DISCIPLINA D JOIN DISCIPLINA PRE ON PRE.CODD = D.PREREQD f) Nome das disciplinas que possuam carga horária maior que todas as disciplinas da área de Matemática. SELECT NOMED AS NOME_DISCIPLINA FROM DISCIPLINA D WHERE CARGAD> (SELECT MAX(CARGAD) FROM DISCIPLINA WHERE AREAD ='MATEMATICA') g) Código de cada disciplina, com a quantidade de cursos em que a mesma é oferecida. SELECT D.CODD, COUNT (DISTINCT G.CODC) AS QT_CURSOS FROM DISCIPLINA D LEFT JOIN GRADE G ON G.CODD = D.CODD GROUP BY D.CODD h) Carga horária média das áreas com carga horária média maior ou igual a 3. SELECT AVG (CARGAD) AS CARGA_HORARIA_MEDIA FROM DISCIPLINA GROUP BY AREAD HAVING AVG(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 NOT EXISTS (SELECT CODD FROM DISCIPLINA DI2 WHERE DI2.PREREQD = D.CODD) 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 ELETRICA') AND C.MENSC > (SELECT C2.MENSC FROM CURSO C2 WHERE C2.NOMEC = 'ENG ELETRICA') AND C.NOMEC <> 'ENG ELETRICA'
Compartilhar