-- 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;

Embed on website

To embed this project on your website, copy the following code and paste it into your website's HTML: