Análise de Vendas e Performance de E-commerce
翻译
| -- 1. Estrutura do Banco de Dados | |
| CREATE TABLE clientes ( | |
| id_cliente INT PRIMARY KEY, | |
| nome VARCHAR(100), | |
| estado CHAR(2) | |
| ); | |
| CREATE TABLE pedidos ( | |
| id_pedido INT PRIMARY KEY, | |
| id_cliente INT, | |
| data_pedido DATE, | |
| status VARCHAR(50), | |
| FOREIGN KEY (id_cliente) REFERENCES clientes(id_cliente) | |
| ); | |
| CREATE TABLE itens_pedido ( | |
| id_item INT PRIMARY KEY, | |
| id_pedido INT, | |
| produto VARCHAR(100), | |
| quantidade INT, | |
| preco_unitario DECIMAL(10,2), | |
| FOREIGN KEY (id_pedido) REFERENCES pedidos(id_pedido) | |
| ); | |
| -- 2. Dados de Teste | |
| INSERT INTO clientes VALUES (1, 'Ana Silva', 'SP'), (2, 'Bruno Souza', 'MG'), (3, 'Carla Costa', 'RJ'); | |
| INSERT INTO pedidos VALUES (101, 1, '2026-01-15', 'Concluído'), (102, 2, '2026-01-16', 'Concluído'), (103, 1, '2026-01-17', 'Cancelado'); | |
| INSERT INTO itens_pedido VALUES (1, 101, 'Notebook', 1, 3500.00), (2, 101, 'Mouse', 2, 50.00), (3, 102, 'Teclado', 1, 150.00); | |
| -- 3. Consulta de Portfólio: Faturamento total por cliente e estado (Apenas pedidos Concluídos) | |
| SELECT | |
| c.nome AS cliente, | |
| c.estado, | |
| COUNT(DISTINCT p.id_pedido) AS total_pedidos, | |
| SUM(i.quantidade * i.preco_unitario) AS total_gasto | |
| FROM clientes c | |
| JOIN pedidos p ON c.id_cliente = p.id_cliente | |
| JOIN itens_pedido i ON p.id_pedido = i.id_pedido | |
| WHERE p.status = 'Concluído' | |
| GROUP BY c.id_cliente, c.nome, c.estado | |
| ORDER BY total_gasto DESC; |
评论
?
参与讨论