Pular para o conteúdo principal

Questão de Banco de Dados — SQL — FUNCAB 2013

Banco de DadosSQL
Código
qq014262
Banca
FUNCAB
Órgão
CODATA
Ano
2013
Nível
Superior
Cargo
Analista de Informática - Banco de Dados
Considere as tabelas abaixo:Imagem 011.jpgem que Aluno.matricula e Professor.matricula são respectivamente chaves primárias das tabelas Aluno e Professor; a chave primária da tabela Aula é composta pelos campos matricula_professor e matricula_aluno, sendo que matricula_professor é chave estrangeira ligada à tabela Professor e matricula_aluno é chave estrangeira ligada à tabela Aluno. A consulta escrita em SQL ANSI para encontrar quais professores não ministram aula para nenhum aluno é:
  1. ASELECTmatriculaFROMProfessorWHERENOTEXISTS (SELECT matriculaFROM AlunoWHERE EXISTS (SELECTAula.matricula_professor FROM AulaWHERE (Aula.matricula_aluno =Aluno.matricula)AND(Professor.matricula =Aula.matricula_professor)))
  2. BSELECT matriculaFROMProfessorWHERENOTEXISTS (SELECT matriculaFROM AlunoWHERENOTEXISTS(SELECT Aula.matricula_professor FROMAulaWHERE (Aula.matricula_aluno =Aluno.matricula)AND(Professor.matricula =Aula.matricula_professor)))
  3. CSELECTmatriculaFROMProfessorWHERE EXISTS (SELECTmatriculaFROM AlunoWHERENOTEXISTS(SELECTAula.matricula_professor FROMAulaWHERE (Aula.matricula_aluno =Aluno.matricula)))
  4. DSELECTmatriculaFROMProfessorWHERE EXISTS (SELECTmatriculaFROM AlunoWHERE EXISTS (SELECTAula.matricula_professor FROMAulaWHERE (Professor.matricula =Aula.matricula_professor)))
  5. ESELECTmatriculaFROMProfessorWHERE EXISTS (SELECTmatriculaFROMAlunoWHERE EXISTS (SELECTAula.matricula_professor FROMAulaWHERE (Aula.matricula_aluno = Aluno.matricula)AND(Professor.matricula =Aula.matricula_professor)))
Revelar gabarito e comentário

GabaritoA — SELECTmatricula FROMProfessor WHERENOTEXISTS (SELECT matricula FROM AlunoWHERE EXISTS (SELECT Aula.matricula_professor FROM Aula WHERE (Aula.matricula_aluno = Aluno.matricula)AND (Professor.matricula = Aula.matricula_professor)))

Link permanente: /questoes/qq014262