Imagem de fundo

Considere o esquema relacional que representa parte de um...

Considere o esquema relacional que representa parte de um sistema de uma empresa:


Projetos(IdProjeto, nome)

Pessoas(IdPessoa, nome)

ProjetosPessoas(#IdProjeto,#IdPessoa)


Legenda: Campos sublinhados compõem a chave primária da tabela e campo precedido de # é uma chave estrangeira


A coordenação de recursos humanos deseja saber os nomes das pessoas que já trabalharam em todos os projetos cadastrados na base de dados. A consulta que expressa correta e eficientemente o que o relatório deve mostrar é:


A

SELECT *

FROM Projetos, ProjetosPessoas, Pessoas

WHERE USING(IdProjeto, IdPessoa) AND

IdProjeto = ALL (SELECT * FROM Projetos)


B

SELECT nome

FROM Pessoas

WHERE IdPessoa IN

(SELECT IdPessoa

FROM ProjetosPessoas

WHERE EXISTS

(SELECT *

FROM Projetos))


C

SELECT nome

FROM Pessoas PE

WHERE NOT EXISTS

(SELECT *

FROM Projetos PR

WHERE NOT EXISTS

(SELECT *

FROM ProjetosPessoas PP

WHERE PE.IdPessoa = PP.IdPessoa AND

PR.IdProjeto = PP.IdProjeto))


D

SELECT nome

FROM PESSOAS PE

WHERE EXISTS

(SELECT IdPessoa

FROM ProjetosPessoas LEFT JOIN Projetos)


E

SELECT nome

FROM Projetos PR

WHERE EXISTS

(SELECT *

FROM Pessoas PE

WHERE EXISTS

(SELECT *

FROM ProjetosPessoas PP

WHERE PE.IdPessoa = PP.IdPessoa AND

PR.IdProjeto = PP.IdProjeto))