-- PARTE 1 - Exercício do Slide 09 (SQL - Subconjunto DML), página 19
-- 1) Criação da tabela produto
CREATE TABLE produto (
id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
nome VARCHAR(100) NOT NULL,
valor DECIMAL(10,2) NOT NULL,
quantidade INT NOT NULL,
medida VARCHAR(20) NOT NULL
);
-- 2) Inserção dos registros
INSERT INTO produto (id, nome, valor, quantidade, medida) VALUES (1, 'Arroz', 1.90, 33, 'Kg');
INSERT INTO produto (id, nome, valor, quantidade, medida) VALUES (2, 'Feijão', 3.85, 82, 'Kg');
INSERT INTO produto (id, nome, valor, quantidade, medida) VALUES (3, 'Miojo', 1.20, 22, 'Unidade');
INSERT INTO produto (id, nome, valor, quantidade, medida) VALUES (4, 'Tomate', 3.05, 128, 'Kg');
INSERT INTO produto (id, nome, valor, quantidade, medida) VALUES (5, 'Cenoura', 2.50, 173, 'Kg');
INSERT INTO produto (id, nome, valor, quantidade, medida) VALUES (6, 'Batata', 2.38, 74, 'Kg');
INSERT INTO produto (id, nome, valor, quantidade, medida) VALUES (7, 'Pão', 10.25, 570, 'g');
INSERT INTO produto (id, nome, valor, quantidade, medida) VALUES (8, 'Queijo', 12.50, 120, 'Kg');
INSERT INTO produto (id, nome, valor, quantidade, medida) VALUES (9, 'Água', 2.21, 88, 'L');
-- 3) Atualizar a quantidade dos produtos com unidade de medida Kg para 100
UPDATE produto
SET quantidade = 100
WHERE medida = 'Kg';
-- 4) Remover os produtos com valor menor ou igual a 2 ou quantidade menor que 90
DELETE FROM produto
WHERE valor <= 2 OR quantidade < 90;
-- 5) Atualizar o valor de todos os produtos para o dobro do valor atual
UPDATE produto
SET valor = valor * 2;
-- =============================================================================================================
-- PARTE 2 - Exercício do Slide 11 (SQL - Subconjunto DQL), página 25
-- 1) 4 produtos da tabela
SELECT * FROM produto LIMIT 4;
-- 2) Os 4 produtos mais caros
SELECT * FROM produto ORDER BY valor DESC LIMIT 4;
-- 3) Os 4 produtos mais baratos
SELECT * FROM produto ORDER BY valor ASC LIMIT 4;
-- 4) Produtos cuja medida contenha 'g'
SELECT * FROM produto WHERE medida LIKE '%g%';
-- 5) Produtos com valor entre 2 e 5
SELECT * FROM produto WHERE valor BETWEEN 2 AND 5;
-- 6) A média de preços dos produtos
SELECT AVG(valor) AS media_precos FROM produto;
-- 7) A média de preços dos produtos com medida 'Kg'
SELECT AVG(valor) AS media_precos_kg FROM produto WHERE medida = 'Kg';
-- 8) A quantidade de registros na tabela
SELECT COUNT(*) AS total_registros FROM produto;
-- 9) O nome e o valor do produto mais barato e do produto mais caro
(SELECT nome, valor FROM produto ORDER BY valor ASC LIMIT 1)
UNION
(SELECT nome, valor FROM produto ORDER BY valor DESC LIMIT 1);
-- 10) A soma da coluna quantidade dos produtos com medida 'Kg'
SELECT SUM(quantidade) AS soma_quantidade_kg FROM produto WHERE medida = 'Kg';
-- 11) As medidas e a contagem do número de produtos para cada medida
SELECT medida, COUNT(*) AS total_produtos FROM produto GROUP BY medida;
-- 12) A mesma consulta anterior, mas apenas as contagens maiores que 2
SELECT medida, COUNT(*) AS total_produtos FROM produto GROUP BY medida HAVING COUNT(*) > 2;
To embed this project on your website, copy the following code and paste it into your website's HTML: