-- Criação da tabela `clientes`
CREATE TABLE clientes (
id INT PRIMARY KEY AUTO_INCREMENT,
nome VARCHAR(100) NOT NULL,
email VARCHAR(100) NOT NULL
);
-- Criação da tabela `produtos`
CREATE TABLE produtos (
id INT PRIMARY KEY AUTO_INCREMENT,
nome VARCHAR(100) NOT NULL,
preco DECIMAL(10, 2) NOT NULL
);
-- Criação da tabela `pedidos`
CREATE TABLE pedidos (
id INT PRIMARY KEY AUTO_INCREMENT,
cliente_id INT NOT NULL,
data_pedido DATE NOT NULL,
valor_total DECIMAL(10, 2) NOT NULL,
FOREIGN KEY (cliente_id) REFERENCES clientes(id)
);
-- Criação da tabela `itens_pedido`
CREATE TABLE itens_pedido (
id INT PRIMARY KEY AUTO_INCREMENT,
pedido_id INT NOT NULL,
produto_id INT NOT NULL,
quantidade INT NOT NULL,
preco_unitario DECIMAL(10, 2) NOT NULL,
FOREIGN KEY (pedido_id) REFERENCES pedidos(id),
FOREIGN KEY (produto_id) REFERENCES produtos(id)
);
-- Inserindo clientes
INSERT INTO clientes (nome, email) VALUES
('João Silva', 'joao.silva@email.com'),
('Maria Oliveira', 'maria.oliveira@email.com'),
('Carlos Souza', 'carlos.souza@email.com'),
('Ana Costa', 'ana.costa@email.com'),
('Pedro Rocha', 'pedro.rocha@email.com'),
('Lucia Lima', 'lucia.lima@email.com'),
('Fernando Alves', 'fernando.alves@email.com'),
('Juliana Martins', 'juliana.martins@email.com'),
('Ricardo Nunes', 'ricardo.nunes@email.com'),
('Patricia Gonçalves', 'patricia.goncalves@email.com');
-- Inserindo produtos
INSERT INTO produtos (nome, preco) VALUES
('Notebook', 3000.00),
('Smartphone', 1500.00),
('Tablet', 1200.00),
('Monitor', 800.00),
('Teclado', 100.00),
('Mouse', 50.00),
('Impressora', 500.00),
('Headset', 200.00),
('Webcam', 150.00),
('HD Externo', 400.00);
-- Inserindo pedidos
INSERT INTO pedidos (cliente_id, data_pedido, valor_total) VALUES
(1, '2023-10-01', 4500.00),
(2, '2023-10-02', 1700.00),
(3, '2023-10-03', 2400.00),
(4, '2023-10-04', 800.00),
(5, '2023-10-05', 100.00),
(6, '2023-10-06', 600.00),
(7, '2023-10-07', 200.00),
(8, '2023-10-08', 150.00),
(9, '2023-10-09', 400.00),
(10, '2023-10-10', 3000.00);
-- Inserindo itens_pedido
INSERT INTO itens_pedido (pedido_id, produto_id, quantidade, preco_unitario) VALUES
(1, 1, 1, 3000.00),
(1, 2, 1, 1500.00),
(2, 3, 1, 1200.00),
(2, 4, 1, 800.00),
(3, 5, 2, 100.00),
(3, 6, 2, 50.00),
(4, 7, 1, 500.00),
(4, 8, 1, 200.00),
(5, 9, 1, 150.00),
(5, 10, 1, 400.00);
-- 1. SELECT Básico: Selecionar todos os clientes
SELECT * FROM clientes;
-- 2. SELECT com WHERE: Selecionar pedidos com valor_total > 1000
SELECT * FROM pedidos WHERE valor_total > 1000;
-- 3. SELECT com JOIN: Selecionar nome do cliente e data do pedido
SELECT c.nome, p.data_pedido
FROM clientes c
JOIN pedidos p ON c.id = p.cliente_id;
-- 4. SELECT com GROUP BY: Total gasto por cada cliente
SELECT c.nome, SUM(p.valor_total) AS total_gasto
FROM clientes c
JOIN pedidos p ON c.id = p.cliente_id
GROUP BY c.nome;
-- 5. SELECT com ORDER BY: Produtos ordenados por preço (decrescente)
SELECT * FROM produtos ORDER BY preco DESC;
-- 6. UPDATE Básico: Atualizar preço do Notebook para 3200.00
UPDATE produtos SET preco = 3200.00 WHERE nome = 'Notebook';
-- 7. UPDATE com WHERE: Atualizar email do João Silva
UPDATE clientes SET email = 'joao.silva.novo@email.com' WHERE nome = 'João Silva';
-- 8. DELETE Básico: Deletar pedido com id = 5
DELETE FROM pedidos WHERE id = 5;
-- 9. DELETE com WHERE: Deletar pedidos com valor_total < 500
DELETE FROM pedidos WHERE valor_total < 500;
-- 10. DELETE com JOIN: Deletar pedidos da Maria Oliveira
DELETE p FROM pedidos p
JOIN clientes c ON p.cliente_id = c.id
WHERE c.nome = 'Maria Oliveira';
To embed this project on your website, copy the following code and paste it into your website's HTML: