Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Prévia do material em texto

Exercício 01 
 
 
CREATE TABLE clientes ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 nome VARCHAR(100), 
 email VARCHAR(100), 
 telefone VARCHAR(20) 
); 
 
CREATE TABLE categorias ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 nome VARCHAR(50) 
); 
 
CREATE TABLE produtos ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 nome VARCHAR(100), 
 preco DECIMAL(10,2), 
 id_categoria INT, 
 FOREIGN KEY (id_categoria) REFERENCES categorias(id) 
); 
 
CREATE TABLE pedidos ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 data_pedido DATE, 
 id_cliente INT, 
 FOREIGN KEY (id_cliente) REFERENCES clientes(id) 
); 
 
CREATE TABLE itens_pedido ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 id_pedido INT, 
 id_produto INT, 
 quantidade INT, 
 preco_unitario DECIMAL(10,2), 
 FOREIGN KEY (id_pedido) REFERENCES pedidos(id), 
 FOREIGN KEY (id_produto) REFERENCES produtos(id) 
); 
 
 
INSERT INTO clientes (nome, email, telefone) VALUES 
('Ana Paula', 'ana@email.com', '11999999999'), 
('Carlos Silva', 'carlos@email.com', '11988888888'), 
('Fernanda Costa', 'fernanda@email.com', '11987776655'); 
 
INSERT INTO categorias (nome) VALUES 
('Eletrônicos'), ('Livros'), ('Acessórios'); 
 
INSERT INTO produtos (nome, preco, id_categoria) VALUES 
('Notebook', 3500.00, 1), 
('Livro Python', 79.90, 2), 
('Mouse Gamer', 120.00, 3), 
('Cabo USB-C', 30.00, 3), 
('Monitor 24', 950.00, 1); 
 
INSERT INTO pedidos (data_pedido, id_cliente) VALUES 
('2024-06-01', 1), 
('2024-06-08', 2), 
('2024-06-15', 3); 
 
INSERT INTO itens_pedido (id_pedido, id_produto, quantidade, preco_unitario) VALUES 
(1, 1, 1, 3500.00), 
(2, 2, 2, 79.90), 
(3, 3, 2, 120.00), 
(1, 4, 10, 30.00); 
 
 
 
-- Mostrar os clientes cadastrados 
SELECT * FROM clientes; 
 
-- Mostrar as categorias cadastradas 
SELECT * FROM categorias; 
 
-- Mostrar os produtos com suas categorias 
SELECT 
 produtos.id, 
 produtos.nome AS nome_produto, 
 produtos.preco, 
 categorias.nome AS categoria 
FROM 
 produtos 
JOIN 
 categorias ON produtos.id_categoria = categorias.id; 
 
-- Mostrar os pedidos com o nome do cliente 
SELECT 
 pedidos.id, 
 pedidos.data_pedido, 
 clientes.nome AS cliente 
FROM 
 pedidos 
JOIN 
 clientes ON pedidos.id_cliente = clientes.id; 
 
-- Mostrar os itens dos pedidos com nome do produto 
SELECT 
 itens_pedido.id_pedido, 
 produtos.nome AS produto, 
 itens_pedido.quantidade, 
 itens_pedido.preco_unitario 
FROM 
 itens_pedido 
JOIN 
 produtos ON itens_pedido.id_produto = produtos.id; 
 
 
 
 
 
 
 
 
 
Exercício 02 
 
 
CREATE TABLE clientes ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 nome VARCHAR(100), 
 email VARCHAR(100), 
 telefone VARCHAR(20) 
); 
 
CREATE TABLE categorias ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 nome VARCHAR(50) 
); 
 
CREATE TABLE produtos ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 nome VARCHAR(100), 
 preco DECIMAL(10,2), 
 id_categoria INT, 
 FOREIGN KEY (id_categoria) REFERENCES categorias(id) 
); 
 
CREATE TABLE pedidos ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 data_pedido DATE, 
 id_cliente INT, 
 FOREIGN KEY (id_cliente) REFERENCES clientes(id) 
); 
 
CREATE TABLE itens_pedido ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 id_pedido INT, 
 id_produto INT, 
 quantidade INT, 
 preco_unitario DECIMAL(10,2), 
 FOREIGN KEY (id_pedido) REFERENCES pedidos(id), 
 FOREIGN KEY (id_produto) REFERENCES produtos(id) 
); 
 
 
INSERT INTO clientes (nome, email, telefone) VALUES 
('Ana Paula', 'ana@email.com', '11999999999'), 
('Carlos Silva', 'carlos@email.com', '11988888888'), 
('Fernanda Costa', 'fernanda@email.com', '11987776655'); 
 
INSERT INTO categorias (nome) VALUES 
('Eletrônicos'), ('Livros'), ('Acessórios'); 
 
INSERT INTO produtos (nome, preco, id_categoria) VALUES 
('Notebook', 3500.00, 1), 
('Livro Python', 79.90, 2), 
('Mouse Gamer', 120.00, 3), 
('Cabo USB-C', 30.00, 3), 
('Monitor 24', 950.00, 1); 
 
INSERT INTO pedidos (data_pedido, id_cliente) VALUES 
('2024-06-01', 1), 
('2024-06-08', 2), 
('2024-06-15', 3); 
 
INSERT INTO itens_pedido (id_pedido, id_produto, quantidade, preco_unitario) VALUES 
(1, 1, 1, 3500.00), 
(2, 2, 2, 79.90), 
(3, 3, 2, 120.00), 
(1, 4, 10, 30.00); 
 
 
 
-- Mostrar todos os pedidos realizados com detalhes: 
SELECT 
 c.nome AS nome_cliente, 
 p.data_pedido, 
 pr.nome AS produto, 
 ip.quantidade, 
 ip.preco_unitario, 
 (ip.quantidade * ip.preco_unitario) AS valor_total_item 
FROM 
 itens_pedido ip 
JOIN pedidos p ON ip.id_pedido = p.id 
JOIN clientes c ON p.id_cliente = c.id 
JOIN produtos pr ON ip.id_produto = pr.id 
ORDER BY p.data_pedido, c.nome; 
 
 
 
 
 
Exercício 03 
 
 
CREATE TABLE clientes ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 nome VARCHAR(100), 
 email VARCHAR(100), 
 telefone VARCHAR(20) 
); 
 
CREATE TABLE categorias ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 nome VARCHAR(50) 
); 
 
CREATE TABLE produtos ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 nome VARCHAR(100), 
 preco DECIMAL(10,2), 
 id_categoria INT, 
 FOREIGN KEY (id_categoria) REFERENCES categorias(id) 
); 
 
CREATE TABLE pedidos ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 data_pedido DATE, 
 id_cliente INT, 
 FOREIGN KEY (id_cliente) REFERENCES clientes(id) 
); 
 
CREATE TABLE itens_pedido ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 id_pedido INT, 
 id_produto INT, 
 quantidade INT, 
 preco_unitario DECIMAL(10,2), 
 FOREIGN KEY (id_pedido) REFERENCES pedidos(id), 
 FOREIGN KEY (id_produto) REFERENCES produtos(id) 
); 
 
 
INSERT INTO clientes (nome, email, telefone) VALUES 
('Ana Paula', 'ana@email.com', '11999999999'), 
('Carlos Silva', 'carlos@email.com', '11988888888'), 
('Fernanda Costa', 'fernanda@email.com', '11987776655'); 
 
INSERT INTO categorias (nome) VALUES 
('Eletrônicos'), ('Livros'), ('Acessórios'); 
 
INSERT INTO produtos (nome, preco, id_categoria) VALUES 
('Notebook', 3500.00, 1), 
('Livro Python', 79.90, 2), 
('Mouse Gamer', 120.00, 3), 
('Cabo USB-C', 30.00, 3), 
('Monitor 24', 950.00, 1); 
 
INSERT INTO pedidos (data_pedido, id_cliente) VALUES 
('2024-06-01', 1), 
('2024-06-08', 2), 
('2024-06-15', 3); 
 
INSERT INTO itens_pedido (id_pedido, id_produto, quantidade, 
preco_unitario) VALUES 
(1, 1, 1, 3500.00), 
(2, 2, 2, 79.90), 
(3, 3, 2, 120.00), 
(1, 4, 10, 30.00); 
 
 
 
SELECT 
 c.nome AS nome_cliente, 
 SUM(ip.quantidade * ip.preco_unitario) AS total_gasto 
FROM 
 clientes c 
JOIN pedidos p ON c.id = p.id_cliente 
JOIN itens_pedido ip ON p.id = ip.id_pedido 
GROUP BY c.nome 
ORDER BY total_gasto DESC; 
 
 
 
 
Exercício 04 
 
CREATE TABLE clientes ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 nome VARCHAR(100), 
 email VARCHAR(100), 
 telefone VARCHAR(20) 
); 
 
CREATE TABLE categorias ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 nome VARCHAR(50) 
); 
 
CREATE TABLE produtos ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 nome VARCHAR(100), 
 preco DECIMAL(10,2), 
 id_categoria INT, 
 FOREIGN KEY (id_categoria) REFERENCES categorias(id) 
); 
 
CREATE TABLE pedidos ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 data_pedido DATE, 
 id_cliente INT, 
 FOREIGN KEY (id_cliente) REFERENCES clientes(id) 
); 
 
CREATE TABLE itens_pedido ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 id_pedido INT, 
 id_produto INT, 
 quantidade INT, 
 preco_unitario DECIMAL(10,2), 
 FOREIGN KEY (id_pedido) REFERENCES pedidos(id), 
 FOREIGN KEY (id_produto) REFERENCES produtos(id) 
); 
 
 
INSERT INTO clientes (nome, email, telefone) VALUES 
('Ana Paula', 'ana@email.com', '11999999999'), 
('Carlos Silva', 'carlos@email.com', '11988888888'), 
('Fernanda Costa', 'fernanda@email.com', '11987776655'); 
 
INSERT INTO categorias (nome) VALUES 
('Eletrônicos'), ('Livros'), ('Acessórios'); 
 
INSERT INTO produtos (nome, preco, id_categoria) VALUES 
('Notebook', 3500.00, 1), 
('Livro Python', 79.90, 2), 
('Mouse Gamer', 120.00, 3), 
('Cabo USB-C',30.00, 3), 
('Monitor 24', 950.00, 1); 
 
INSERT INTO pedidos (data_pedido, id_cliente) VALUES 
('2024-06-01', 1), 
('2024-06-08', 2), 
('2024-06-15', 3); 
 
INSERT INTO itens_pedido (id_pedido, id_produto, quantidade, 
preco_unitario) VALUES 
(1, 1, 1, 3500.00), 
(2, 2, 2, 79.90), 
(3, 3, 2, 120.00), 
(1, 4, 10, 30.00); 
 
 
 
SELECT 
 c.nome AS nome_categoria, 
 COUNT(p.id) AS quantidade_produtos 
FROM 
 categorias c 
LEFT JOIN produtos p ON c.id = p.id_categoria 
GROUP BY c.nome 
ORDER BY quantidade_produtos DESC; 
 
 
 
 
Exercício 05 
 
 
CREATE TABLE clientes ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 nome VARCHAR(100), 
 email VARCHAR(100), 
 telefone VARCHAR(20) 
); 
 
CREATE TABLE categorias ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 nome VARCHAR(50) 
); 
 
CREATE TABLE produtos ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 nome VARCHAR(100), 
 preco DECIMAL(10,2), 
 id_categoria INT, 
 FOREIGN KEY (id_categoria) REFERENCES categorias(id) 
); 
 
CREATE TABLE pedidos ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 data_pedido DATE, 
 id_cliente INT, 
 FOREIGN KEY (id_cliente) REFERENCES clientes(id) 
); 
 
CREATE TABLE itens_pedido ( 
 id INT AUTO_INCREMENT PRIMARY KEY, 
 id_pedido INT, 
 id_produto INT, 
 quantidade INT, 
 preco_unitario DECIMAL(10,2), 
 FOREIGN KEY (id_pedido) REFERENCES pedidos(id), 
 FOREIGN KEY (id_produto) REFERENCES produtos(id) 
); 
 
 
INSERT INTO clientes (nome, email, telefone) VALUES 
('Ana Paula', 'ana@email.com', '11999999999'), 
('Carlos Silva', 'carlos@email.com', '11988888888'), 
('Fernanda Costa', 'fernanda@email.com', '11987776655'); 
 
INSERT INTO categorias (nome) VALUES 
('Eletrônicos'), ('Livros'), ('Acessórios'); 
 
INSERT INTO produtos (nome, preco, id_categoria) VALUES 
('Notebook', 3500.00, 1), 
('Livro Python', 79.90, 2), 
('Mouse Gamer', 120.00, 3), 
('Cabo USB-C', 30.00, 3), 
('Monitor 24"', 950.00, 1); 
 
INSERT INTO pedidos (data_pedido, id_cliente) VALUES 
('2024-06-01', 1), 
('2024-06-08', 2), 
('2024-06-15', 3); 
 
INSERT INTO itens_pedido (id_pedido, id_produto, quantidade, 
preco_unitario) VALUES 
(1, 1, 1, 3500.00), 
(2, 2, 2, 79.90), 
(3, 3, 2, 120.00), 
(1, 4, 10, 30.00); 
 
 
 
SELECT 
 p.nome AS nome_produto, 
 p.preco, 
 c.nome AS nome_categoria 
FROM 
 produtos p 
JOIN categorias c ON p.id_categoria = c.id 
WHERE 
 p.preco > ( 
 SELECT AVG(preco) FROM produtos 
 ) 
ORDER BY p.preco DESC;

Mais conteúdos dessa disciplina