Scripts em SQL
1. Quais são os produtos que nunca foram vendidos nos estados “SP”, “RJ”, “RS”, “SC” e “PR”?
SELECT
pro.nome AS ‘Produtos nunca vendidos em SP, RJ, RS, SC e PR’ FROM Estado e JOIN Cliente c ON e.estado_id = c.estado_id JOIN Pedido p ON c.cliente_id = p.cliente_id JOIN Item i ON p.pedido_id = i.pedido_id JOIN Produto pro ON i.produto_id = pro.produto_id WHERE e.nome NOT IN (‘SP’, ‘RJ’, ‘RS’, ‘SC’, ’PR’) GROUP BY pro.produto_id;
Primeiro realizei um cruzamento entre as tabelas Estado, Cliente, Pedido, Item e Produto para obter todos os produtos que foram vendidos e para que estados foram essas vendas. Depois coloquei como clausula de restrição para que não fossem retornadas as informações referentes aos estados SP, RJ, RS, SC e PR. Para finalizar e mostrar o resultado melhor organizado, agrupei as informações pelas id’s dos produtos.
2. Quais são os produtos mais pedidos?
SELECT
p.nome AS ‘Produtos mais pedidos’, SUM (i.quantidade) FROM Pedido p JOIN Item i ON p.pedido_id = i.pedido_id JOIN Produto pro ON i.produto_id = pro.produto_id GROUP BY pro.produto_id ORDER BY SUM (i.quantidade) DESC LIMIT 1,5;
Primeiro realizei um cruzamento entre as tabelas Pedido, Item e Produto para obter todos os produtos que foram pedidos. Depois agrupei as informações pelas id’s dos produtos, ordenei pela soma da quantidade de itens em ordem decrescente e limitei para que seja exibido até as 5 primeiras ocorrências.
3. Quais são os estados que mais compraram o produto de código = 103?
SELECT
e.nome AS ‘Estados que mais compraram o produto de código = 103’, SUM (i.quantidade) FROM Estado e JOIN Cliente c ON e.estado_id = c.estado_id JOIN Pedido p ON c.cliente_id