Banco de dadosSql
- (FAURGS 2018)
As tabelas DISCIPLINAS, ALUNOS, e MATRICULAS, definidas abaixo, usando SQL (padrão SQL2 ou superior), representam alunos, disciplinas oferecidas em um curso e matrículas de alunos nestas disciplinas.
create table ALUNOS (coda integer not null primary key, nomea varchar(60) not null);
create table DISCIPLINAS (codd integer not null primary key, nomed varchar(100) not null, professor varchar(2) not null);
create table MATRICULAS (coda integer not null, codd integer not null, nota integer not null, primary key (coda, codd), foreign key (coda) references ALUNOS, foreign key (codd) references DISCIPLINAS);
Considere as seguintes consultas SQL no mesmo padrão, formuladas utilizando subconsultas.
I - SELECT distinct nomea, codd, nota FROM alunos natural join matriculas WHERE codd not in (SELECT distinct codd FROM disciplinas WHERE professor = 'joao da silva');
II - SELECT distinct nomea, codd, nota FROM alunos natural join matriculas WHERE coda not in (SELECT distinct coda FROM disciplinas natural join matriculas WHERE professor = 'joao da silva');
III- SELECT distinct nomea, codd, nota FROM alunos natural join matriculas WHERE coda in (SELECT distinct coda FROM matriculas WHERE nota = 10);
Quais dentre as consultas acima NÃOpoderiam ser reescritas em termos das tabelas DISCIPLINAS, MATRICULAS E ALUNOS sem uso de subconsulta em nenhuma porção da consulta SQL, e sem utilizar a mesma tabela mais de uma vez na cláusula FROM?
A) Apenas I.
B) Apenas II.
C) Apenas III.
D) Apenas I e II.
E) Apenas II e III.
Próximo:
EXERCÍCIOS - Exercício 34
Vamos para o Anterior: Exercício 32
Tente Este: Exercício 161
Primeiro: Exercício 1
VOLTAR ao índice: Banco de dados