Você está na página 1de 6

1.

SELECT NOM_ALU, MAT_ALU, MGP, DAT_NASC

FROM ALUNOS

WHERE COD_CURSO = 26

ORDER BY MGP DESC;

2.

SELECT C.COD_CURSO, C.NOM_CURSO, P.MAT_PROF, P.NOM_PROF

FROM CURSOS C

LEFT JOIN PROFESSORES P ON C.IDT_PROF = P.IDT_PROF

ORDER BY C.COD_CURSO;

3.

INSERT INTO PROFESSORES (IDT_PROF, MAT_PROF, NOM_PROF) VALUES (novoid, novamat,


‘Novo Professor’);

UPDATE CURSOS SET IDT_PROF = novoid WHERE COD_CURSO = 52;

4.

SELECT PL.ANO, PL.SEMESTRE

FROM PERIODOS_LETIVOS PL

WHERE NOT EXISTS (

SELECT 1

FROM HISTORICOS H

WHERE H.ANO = PL.ANO AND H.SEMESTRE = PL.SEMESTRE

) AND NOT EXISTS (

SELECT 1

FROM MATRICULAS M

WHERE M.ANO = PL.ANO AND M.SEMESTRE = PL.SEMESTRE

) AND NOT EXISTS (

SELECT 1
FROM TURMAS T

WHERE T.ANO = PL.ANO AND T.SEMESTRE = PL.SEMESTRE

);

5.

DELETE FROM PERIODOS_LETIVOS PL

WHERE NOT EXISTS (

SELECT 1

FROM HISTORICOS H

WHERE H.ANO = PL.ANO AND H.SEMESTRE = PL.SEMESTRE

) AND NOT EXISTS (

SELECT 1

FROM MATRICULAS M

WHERE M.ANO = PL.ANO AND M.SEMESTRE = PL.SEMESTRE

) AND NOT EXISTS (

SELECT 1

FROM TURMAS T

WHERE T.ANO = PL.ANO AND T.SEMESTRE = PL.SEMESTRE

);

6.

SELECT C.COD_CURSO, C.NOM_CURSO, MAX(A.MGP) AS MAIOR_MGP

FROM CURSOS C

INNER JOIN ALUNOS A ON C.COD_CURSO = A.COD_CURSO

GROUP BY C.COD_CURSO, C.NOM_CURSO;

7.

SELECT C.NOM_CURSO, COUNT(A.MAT_ALU) AS QUANTIDADE_ALUNOS

FROM CURSOS C

LEFT JOIN ALUNOS A ON C.COD_CURSO = A.COD_CURSO

GROUP BY C.NOM_CURSO;
8.

SELECT D.COD_DISC, D.NOM_DISC

FROM DISCIPLINAS D

LEFT JOIN HISTORICOS H ON D.COD_DISC = H.COD_DISC

GROUP BY D.COD_DISC, D.NOM_DISC

HAVING SUM(CASE WHEN H.SITUACAO = ‘RF’ THEN 1 ELSE 0 END) / COUNT(*) > 0.5;

9.

SELECT M.PERIODO, D.COD_DISC, D.NOM_DISC

FROM MATRIZES M

INNER JOIN DISCIPLINAS D ON M.COD_DISC = D.COD_DISC

WHERE M.COD_CURSO = 4

ORDER BY M.PERIODO, D.NOM_DISC;

10.

SELECT COUNT(*) AS TOTAL_TURMAS_SEM_PROF

FROM TURMAS

WHERE IDT_PROF IS NULL

AND ANO = 1999;

11.

SELECT D.COD_DISC, D.NOM_DISC

FROM DISCIPLINAS D

INNER JOIN (

SELECT COD_DISC, COUNT(DISTINCT COD_CURSO) AS CONTAGEM_MATRIZES

FROM MATRIZES

GROUP BY COD_DISC

HAVING COUNT(DISTINCT COD_CURSO) > 1

) M ON D.COD_DISC = M.COD_DISC;
12.

INSERT INTO PARAMETROS (CHAVE, DESCRICAO, VALOR) VALUES (‘ANO_ATU’, ‘Ano atual’,
‘2011’);

INSERT INTO PARAMETROS (CHAVE, DESCRICAO, VALOR) VALUES (‘SEM_ATU’, ‘Semestre atual’,
‘1’);

INSERT INTO PARAMETROS (CHAVE, DESCRICAO, VALOR) VALUES (‘NOM_EMP’, ‘Nome da


instituição’, ‘Universidade Tiradentes’);

INSERT INTO PARAMETROS (CHAVE, DESCRICAO, VALOR) VALUES (‘DAT_VEST’, ‘Data do


vestibular’, ‘03/11/2011’);

13.

SELECT A.MAT_ALU, A.NOM_ALU, M.NOTA_01, M.NOTA_02, M.NOTA_03

FROM ALUNOS A

INNER JOIN MATRICULAS M ON A.MAT_ALU = M.MAT_ALU

INNER JOIN DISCIPLINAS D ON M.COD_DISC = D.COD_DISC

WHERE D.NOM_DISC LIKE ‘%BANCO DE DADOS%’;

14.

SELECT D.COD_DISC, D.NOM_DISC

FROM DISCIPLINAS D

LEFT JOIN HISTORICOS H ON D.COD_DISC = H.COD_DISC

WHERE D.CREDITOS = 6 AND H.COD_DISC IS NULL;

15.

SELECT D.COD_DISC, D.NOM_DISC

FROM DISCIPLINAS D

LEFT JOIN MATRICULAS M ON D.COD_DISC = M.COD_DISC

WHERE D.CREDITOS = 6 AND M.COD_DISC IS NULL;

16.

SELECT D.COD_DISC, D.NOM_DISC

FROM DISCIPLINAS D
LEFT JOIN MATRICULAS M ON D.COD_DISC = M.COD_DISC

LEFT JOIN HISTORICOS H ON D.COD_DISC = H.COD_DISC

WHERE D.CREDITOS > 6 AND M.COD_DISC IS NULL AND H.COD_DISC IS NULL;

17.

SELECT COUNT(*) AS QUANTIDADE_TURMAS_OCUPADAS

FROM TURMAS T

INNER JOIN MATRICULAS M ON T.ANO = M.ANO AND T.SEMESTRE = M.SEMESTRE AND


T.COD_DISC = M.COD_DISC

WHERE T.ANO = 2011 AND T.SEMESTRE = 3

GROUP BY T.ANO, T.SEMESTRE, T.COD_DISC

HAVING COUNT(M.MAT_ALU) = T.VAGAS;

18.

SELECT A.MAT_ALU, A.NOM_ALU, A.MGP

FROM ALUNOS A

WHERE A.MGP = (SELECT MAX(MGP) FROM ALUNOS);

19.

UPDATE MATRICULAS

SET NOTA_01 = nota1, NOTA_02 = nota2, NOTA_03 = nota3, FALTAS_01 = faltas1, FALTAS_02 =
faltas2, FALTAS_03 = faltas3

WHERE COD_DISC = 3855 AND ANO = 2011 AND SEMESTRE = 3 AND MAT_ALU = 3835;

20.

SELECT P.IDT_PROF, P.NOM_PROF

FROM PROFESSORES P

LEFT JOIN TURMAS T ON P.IDT_PROF = T.IDT_PROF

LEFT JOIN HISTORICOS H ON T.ANO = H.ANO AND T.SEMESTRE = H.SEMESTRE AND T.COD_DISC
= H.COD_DISC

GROUP BY P.IDT_PROF, P.NOM_PROF

HAVING SUM(CASE WHEN H.SITUACAO = ‘RF’ THEN 1 ELSE 0 END) / COUNT(T.COD_DISC) > 0.6;

Você também pode gostar