Resolucao efolio a bases dados 2011

Disponível somente no TrabalhosFeitos
  • Páginas : 2 (451 palavras )
  • Download(s) : 0
  • Publicado : 8 de novembro de 2012
Ler documento completo
Amostra do texto
Licenciatura em informática |
Resolução de Efolio A |
Fundamentos de Base de Dados |
|
|
|
|
|

|

1) Considere a Base de Dados Pedidos de Produtos: crie as tabelas, ligaçõesentre tabelas e respectivo carregamento de dados para testes. De seguida crie consultas em SQL para as alíneas que se seguem:
1.1) Contar os pedidos que já foram satisfeitos.
SELECT COUNT(*)AS qty_pedidos_satisfeitos
FROM pedido
WHERE satisfeito = 'True'

1.2) Seleccionar todos os produtos cujo nome possua a string 'an' em qualquer posição do nome.
SELECT *
FROMproduto
WHERE nome LIKE '%an%'

1.3) Mostrar a identificação, o nome dos produtos e valor total do pedido (preço x
quantidade) por produto, dos produtos que já foram pedidos, cuja soma total dopedido por produto seja superior a 100 euros.

SELECT linha_pedido.pedido_id,
produto.nome AS produto_nome,
(SUM(linha_pedido.quantidade) * produto.preco ) AS produto_total
FROM linha_pedido
INNER JOIN produto
ON linha_pedido.produto_id = produto.produto_id
GROUP BY linha_pedido.pedido_id,produto.nome,
produto.preco
HAVING ( SUM(linha_pedido.quantidade) * produto.preco ) > 100

1.4) Utilizando a cláusula IN responda: quais os produtos que nunca foram pedidos?
SELECT *FROM produto
WHERE produto_id NOT IN (SELECT produto_id
FROM linha_pedido)

1.5) Utilizando a cláusula EXISTS responda: quais os clientes que nunca fizerampedidos?
SELECT *
FROM cliente
WHERE NOT EXISTS (SELECT cliente_id
FROM pedido
WHERE cliente.cliente_id = pedido.cliente_id)

1.6)Mostrar os dados dos produtos que nunca foram comprados por clientes que
moram em Lisboa.
SELECT *
FROM produto
WHERE produto_id NOT IN
(SELECT linha_pedido.produto_id...
tracking img