1
resposta

[Sugestão] Desafio: Atualização dos Preços

Olá, compartilhando como resolvi o desafio. Comecei pelo Select para visualizar os produtos que estavam fora de preço, depois apliquei os updates de preços conforme solicitado na tabela.

SELECT id_produto, nome_produto, preco
FROM produtos
WHERE 
    (nome_produto = 'Bola de Futebol' AND (preco < 20 OR preco > 100))
    OR (nome_produto = 'Chocolate' AND (preco < 10 OR preco > 50))
    OR (nome_produto = 'Celular' AND (preco < 80 OR preco > 5000))
    OR (nome_produto = 'Livro de Ficção' AND (preco < 10 OR preco > 200))
    OR (nome_produto = 'Camisa' AND (preco < 80 OR preco > 200));
    
    
    
-- Atualizar preços fora do intervalo para 'Bola de Futebol'
UPDATE produtos
SET preco = CASE 
    WHEN preco < 20 THEN 20
    WHEN preco > 100 THEN 100
    ELSE preco
END
WHERE nome_produto = 'Bola de Futebol';

-- Atualizar preços fora do intervalo para 'Chocolate'
UPDATE produtos
SET preco = CASE 
    WHEN preco < 10 THEN 10
    WHEN preco > 50 THEN 50
    ELSE preco
END
WHERE nome_produto = 'Chocolate';

-- Atualizar preços fora do intervalo para 'Celular'
UPDATE produtos
SET preco = CASE 
    WHEN preco < 80 THEN 80
    WHEN preco > 5000 THEN 5000
    ELSE preco
END
WHERE nome_produto = 'Celular';

-- Atualizar preços fora do intervalo para 'Livro de Ficção'
UPDATE produtos
SET preco = CASE 
    WHEN preco < 10 THEN 10
    WHEN preco > 200 THEN 200
    ELSE preco
END
WHERE nome_produto = 'Livro de Ficção';

-- Atualizar preços fora do intervalo para 'Camisa'
UPDATE produtos
SET preco = CASE 
    WHEN preco < 80 THEN 80
    WHEN preco > 200 THEN 200
    ELSE preco
END
WHERE nome_produto = 'Camisa';

Depois é só aplicar o comando Select do inicio para ver que não possuem mais produtos fora de preço. Dessa forma está aplicado corretamente?

1 resposta

Olá, William. Tudo bem?

Muito obrigada por compartilhar sua solução para o desafio de atualização de preços no fórum. Parabéns por tomar a iniciativa de praticar e aplicar seus conhecimentos em SQL.

Sua abordagem tá correta e bem estruturada. Você começou com um SELECT para identificar os produtos fora dos intervalos de preço e, em seguida, aplicou as atualizações necessárias utilizando o comando UPDATE com CASE para ajustar os preços. É uma excelente prática visualizar os dados antes de executar atualizações, garantindo que os produtos sejam atualizados corretamente.

  1. Identificação dos produtos fora de preço:Seu SELECT está bem formulado e cobre todos os casos conforme o desafio proposto.

  2. Atualização dos preços:As instruções UPDATE estão precisas, utilizando CASE para garantir que os preços sejam ajustados de acordo com os limites estabelecidos.

  3. Verificação final:Reexecutar o SELECT após os UPDATE é uma excelente maneira de verificar se todas as atualizações foram aplicadas corretamente.

Continue compartilhando seus trabalhos e dúvidas no fórum. Sua contribuição é muito valiosa e certamente ajuda outros colegas a aprenderem e evoluírem. Abraços e bons estudos!