Procura

Banco de dadosSql (2)


EXERCÍCIOS - Exercício 61

  • (CESGRANRIO 2011)

As tabelas a seguir compõem a base de dados de uma livraria LIVRO ( COD LIVRO,PREC_UNIT,CAT) VENDA ( NUM VENDA,COD_LIVRO,DATA,QTD) COD_LIVRO REFERENCIA LIVRO Considere as seguintes informações sobre essa base de dados: - As chaves primárias foram sublinhadas, e as chaves estrangeiras foram definidas através da cláusula REFERENCIA. - A tabela LIVRO possui uma linha para cada título disponível no catálogo da livraria. Nela são registrados a categoria (CAT) e o preço unitário (PREC_UNIT) dos livros a venda. - Uma linha da tabela VENDA representa uma venda realizada pela livraria. Cada venda se refere a um único livro, que é identificado através da chave estrangeira COD_LIVRO. Além disso, a tabela VENDA registra a data na qual a venda foi realizada e a quantidade de exemplares vendida. Logo, o valor de uma venda é o produto de QTD e PREC_UNIT. - O gerente dessa livraria solicitou que fosse disponibilizada uma consulta que listasse os códigos dos livros cujos valores médios de venda fossem superiores aos valores médios de venda de todos os livros da categoria 2 (CAT=2). Qual comando SQL irá retornar corretamente as informações solicitadas por esse gerente?


A) SELECT L.COD_LIVRO FROM VENDA V,LIVRO L WHERE L.COD_LIVRO=V.COD_LIVRO AND AVG(V.QTD*L.PREC_UNIT) > (SELECT AVG(V.QTD*L.PREC_UNIT) FROM VENDA V,LIVRO L WHERE L.COD_LIVRO=V.COD_LIVRO AND L.CAT=2)

B) SELECT L.COD_LIVRO FROM VENDA V,LIVRO L WHERE L.COD_LIVRO=V.COD_LIVRO HAVING AVG(V.QTD*L.PREC_UNIT) > (SELECT AVG(V.QTD*L.PREC_UNIT) FROM VENDA V,LIVRO L WHERE L.COD_LIVRO=V.COD_LIVRO AND L.CAT=2)

C) SELECT L.COD_LIVRO FROM VENDA V,LIVRO L WHERE L.COD_LIVRO=V.COD_LIVRO GROUP BY L.COD_LIVRO HAVING AVG(V.QTD*L.PREC_UNIT) > (SELECT AVG(V.QTD*L.PREC_UNIT) FROM VENDA V,LIVRO L WHERE L.COD_LIVRO=V.COD_LIVRO AND L.CAT=2)

D) SELECT L.COD_LIVRO FROM VENDA V,LIVRO L WHERE L.COD_LIVRO=V.COD_LIVRO GROUP BY L.COD_LIVRO HAVING AVG(V.QTD*L.PREC_UNIT) > (SELECT SUM(V.QTD*L.PREC_UNIT) FROM VENDA V,LIVRO L WHERE L.COD_LIVRO=V.COD_LIVRO AND L.CAT=2) / (SELECT SUM(V.NUM_VENDA) FROM VENDA V,LIVRO L WHERE L.COD_LIVRO=V.COD_LIVRO AND L.CAT=2)

E) SELECT L.COD_LIVRO FROM VENDA V,LIVRO L WHERE L.COD_LIVRO=V.COD_LIVRO GROUP BY L.COD_LIVRO HAVING AVG(V.QTD*L.PREC_UNIT) > (SELECT SUM(V.QTD*L.PREC_UNIT) FROM VENDA V,LIVRO L WHERE L.COD_LIVRO=V.COD_LIVRO AND L.CAT=2) / (SELECT COUNT(*) FROM VENDA V,LIVRO L WHERE L.COD_LIVRO=V.COD_LIVRO)


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

Vamos para o Anterior: Exercício 60

Tente Este: Exercício 469

Primeiro: Exercício 1

VOLTAR ao índice: Banco de dados






Cadastre-se e ganhe o primeiro capítulo do livro.
+