Procura

Banco de dadosSql (2)


EXERCÍCIOS - Exercício 208

  • (CESGRANRIO 2008)

Observe as seguintes tabelas de um sistema:
Pessoa (nomePessoa, endereço)
Filme (nomeFilme, estúdio, verba)
Trabalha (nomePessoa(FK), nomeFilme(FK), atividade, salário)
Um administrador de dados deseja fazer o seguinte relatório: Todas as pessoas, os filmes nos quais já trabalharam e o total recebido por cada filme. Se uma pessoa nunca trabalhou num filme, ela deve aparecer no relatório. A atividade que a pessoa exerceu no filme (ex: ator, diretor, câmera etc.) não é importante para o relatório.
Qual consulta retorna o conjunto resposta correto?


A) SELECT P.nomePessoa, T.nomeFilme, sum(T.salário) total
FROM Pessoa P LEFT OUTER JOIN Trabalha T
ON P.nomePessoa = T.nomePessoa
GROUP BY P.nomePessoa, T.nomeFilme


B) SELECT T.nomePessoa, T.nomeFilme, sum(T.salário) total
FROM Pessoa P INNER JOIN Trabalha T
ON P.nomePessoa = T.nomePessoa
GROUP BY T.nomePessoa, T.nomeFilme


C) SELECT P.nomePessoa, T.nomeFilme, sum(T.salário) total
FROM Pessoa P LEFT OUTER JOIN Trabalha T
ON P.nomePessoa = T.nomePessoa
GROUP BY P.nomePessoa, T.nomeFilme HAVING sum(T.salário) > 0


D) SELECT P.nomePessoa, F.nomeFilme, sum(T.salário) total
FROM Pessoa P INNER JOIN Trabalha T
ON P.nomePessoa = T.nomePessoa INNER JOIN Filme F
ON F.nomeFilme = T.nomeFilme WHERE T.atividade IS NOT NULL AND T.salário > 0
GROUP BY P.nomePessoa, F.nomeFilme


E) SELECT T.nomePessoa, T.nomeFilme, sum(T.salário) total
FROM Pessoa P LEFT OUTER JOIN Trabalha T
ON P.nomePessoa = T.nomePessoa LEFT OUTER JOIN Filme F
ON F.nomeFilme = T.nomeFilme




Próximo:
EXERCÍCIOS - Exercício 209

Vamos para o Anterior: Exercício 207

Tente Este: Exercício 326

Primeiro: Exercício 1

VOLTAR ao índice: Banco de dados






Cadastre-se e ganhe o primeiro capítulo do livro.
+
((ts_substr_ig=0.00ms))((ts_substr_id=2.15ms))((ts_substr_m2=0.00ms))((ts_substr_p2=0.57ms))((ts_substr_c=3.30ms))((ts_substr_im=0.86ms))
((total= 7ms))