

Seu próximo nível começa aqui
Seu desenvolvimento não pode ter limites. Garanta sua Assinatura Ilimitada e libere uma preparação completa com os melhores professores do Brasil.
Em um banco de dados, existem as seguintes tabelas:
ALUNO (cod1, nomeal)
DISCIPLINA (cod2, nomedis)
MATRICULA (codtb1,codtb2)
No qual, cod1 é chave primária da tabela ALUNO e nomeal é o nome do aluno; cod2 é chave primária da tabela DISCIPLINA e nomedis é o nome da disciplina; codtb1+codtb2 é a chave primária da tabela MATRICULA.
O campo codtb1 (da tabela MATRICULA) é chave estrangeira ligada à chave cod1 da tabela ALUNO e o campo codtb2 (da tabela MATRICULA) é chave estrangeira ligada à chave cod2 da tabela DISCIPLINA.
Usando SQL padrão, a consulta para achar os alunos que estão matriculados em todas as disciplinas é:
SELECT nomeal FROM ALUNO
WHERENOTEXISTS(SELECTnomedis FROM
DISCIPLINA WHERE NOT EXISTS
(SELECT MATRICULA.codtb1 FROM MATRICULA
WHERE (ALUNO.cod1 = MATRICULA.codtb1) AND
(DISCIPLINA.cod2=MATRCULA.codtb2)
SELECT nomedis FROM DISCIPLINA
WHERE NOTEXISTS(SELECTnomeal FROM
ALUNO WHERE NOT EXISTS
(SELECT MATRICULA.codtb2 FROM MATRICULA
WHERE (ALUNO.cod1 = MATRICULA.codtb1) AND
(DISCIPLINA.cod2=MATRCULA.codtb2)
SELECT nomeal FROM ALUNO
WHERENOTEXISTS(SELECTnomedis FROM
DISCIPLINA WHERE EXISTS
(SELECT MATRICULA.codtb1 FROM MATRICULA
WHERE (ALUNO.cod1 = MATRICULA.codtb1) AND
(DISCIPLINA.cod2=MATRCULA.codtb2)
SELECT nomedis FROM DISCIPLINA
WHERE EXISTS (SELECT nomeal FROM
ALUNO WHERE NOT EXISTS
(SELECT MATRICULA.codtb2 FROM MATRICULA
WHERE (ALUNO.cod1 = MATRICULA.codtb1) AND
(DISCIPLINA.cod2=MATRCULA.codtb2)