OracleSQL

1508 palavras 7 páginas
Diagrama de Estrutura de Dados

Questões de SQL

1) Selecionar a matrícula e o nome de cada aluno que não tenha realizado alguma prova, mas que cursa disciplina.

SELECT MATRICULA,NOME
FROM ALUNO
WHERE MATRICULA IN CURSA AND MATRICULA NOT IN
(SELECT DISTINCT MATRICULA FROM ALUNO_PROVA)

2) Selecionar a matrícula e o nome dos alunos que cursam apenas uma disciplina.

SELECT MATRICULA,NOME
FROM ALUNO
WHERE MATRICULA IN
(SELECT MATRICULA FROM CURSA GROUP BY MATRICULA
HAVING COUNT(*) =1);

3) Selecionar os nomes dos aluno que realizaram mais de duas avaliações, das disciplinas do professor George Hamilton.

SELECT A.NOME,count(*)
FROM ALUNO A, ALUNO_PROVA AP, PROVA P, DISCIPLINA D, MINISTRA M, PROFESSOR PR
WHERE A.MATRICULA= AP.MATRICULA AND AP.CODPROVA=P.CODPROVA AND P.CODIGO=D.CODIGO AND D.CODIGO=M.CODIGO AND M.MATPROF=PR.MATPROF
GROUP BY A.NOME
HAVING COUNT(*)>2;

4) Selecionar o código e nome da disciplina que possui mais de um professor, mas que não existam alunos que cursam essa disciplina.

SELECT D.CODIGO, D.NOME,P.NOME
FROM DISCIPLINA D,MINISTRA M, PROFESSOR P
WHERE D.CODIGO=M.CODIGO AND M.MATPROF=P.MATPROF AND D.CODIGO IN (SELECT CODIGO FROM MINISTRA GROUP BY CODIGO HAVING COUNT(*)>1) AND D.CODIGO NOT IN (SELECT CODIGO FROM CURSA)

5) Selecionar as disciplinas que não tiveram provas que foram aplicadas (realizadas pelos alunos) ainda, que possuam mais do que 25 alunos que as cursam.

Selecionar as disciplinas que não tiveram provas aplicadas ainda.

SELECT CODIGO, NOME
FROM DISCIPLINA
WHERE CODIGO NOT IN (SELECT DISTINCT P.CODIGO
FROM ALUNO A, ALUNO_PROVA AP,PROVA P
WHERE A.MATRICULA=AP.MATRICULA AND AP.CODPROVA=P.CODPROVA );

Resp.
SELECT CODIGO, NOME
FROM DISCIPLINA
WHERE CODIGO NOT IN (SELECT DISTINCT P.CODIGO
FROM ALUNO A, ALUNO_PROVA AP,PROVA P
WHERE A.MATRICULA=AP.MATRICULA AND AP.CODPROVA=P.CODPROVA) AND CODIGO IN (SELECT CODIGO FROM CURSA

Relacionados

  • OracleSQL
    16449 palavras | 66 páginas