Uma base de dados relativa a vendas efetuadas por uma empresa apresenta as seguintes tabelas:
VENDEDOR(IdVendedor, NomeVendedor)
CLIENTE(NomeCliente, CPFCliente, TelefoneCliente)
PRODUTO(IdItem, NomeItem, ValorItem)
VENDA(IdVenda, DataVenda, IdVendedor, CPFCliente)
ITEMVENDA(IdVenda, SequencialItemVenda, IdItem,QuantidadeItem)
Que comando SQL pode ser dado para, a partir das tabelas acima, ter como resultado duas colunas, a primeira contendo
o IdVenda e a segunda o valor total da venda?
a) SELECT VENDA.IdVenda, SUM(QuantidadeItem*ValorItem ) as
ValorTotal FROM VENDA, ITEMVENDA, PRODUTO WHERE
VENDA.IdVenda=ITEMVENDA.IdVenda And
ITEMVENDA.IdItem=PRODUTO.IdItem GROUP BY VENDA.IdVenda;
b) SELECT VENDA.IdVenda, SUM(QuantidadeItem*ValorItem ) AS
ValorTotal FROM VENDA, ITEMVENDA, PRODUTO WHERE
VENDA.IdVenda=ITEMVENDA.IdVenda And
ITEMVENDA.IdItem=PRODUTO.IdItem;
c) SELECT VENDA.IdVenda,QuantidadeItem*ValorItem AS
ValorTotalFROM VENDA, ITEMVENDA, PRODUTO WHERE
VENDA.IdVenda=ITEMVENDA.IdVenda And
ITEMVENDA.IdItem=PRODUTO.IdItem ;
d) SELECT VENDA.IdVenda, SUM(QuantidadeItem*ValorItem ) as ValorTotal FROM VENDA, ITEMVENDA, PRODUTO WHERE VENDA.IdVenda=ITEMVENDA.IdVenda And ITEMVENDA.IdItem=PRODUTO.IdItem ORDER BY VENDA.IdVenda;
e) SELECT VENDA.IdVenda, QuantidadeItem*ValorItem as
ValorTotal FROM VENDA, ITEMVENDA, PRODUTO WHERE
VENDA.IdVenda=ITEMVENDA.IdVenda And
ITEMVENDA.IdItem=PRODUTO.IdItem GROUP BY VENDA.IdVenda;