Abaixo está uma instrução que descreve uma tarefa de geração de SQL, combinada com uma entrada que fornece mais contexto sobre os esquemas de tabela disponíveis. Escreva o código SQL que responda adequadamente à solicitação
 ###Instrução: Classifique os 5 principais clientes pelo seu gasto total em produtos sustentáveis em ordem decrescente.
 ###Tabelas: 
CREATE TABLE customers (id INT, name VARCHAR(255), city VARCHAR(255), state VARCHAR(255)); INSERT INTO customers (id, name, city, state) VALUES (1, 'John Doe', 'San Francisco', 'CA'), (2, 'Jane Smith', 'Los Angeles', 'CA'), (3, 'Alice Johnson', 'San Jose', 'CA'); CREATE TABLE purchases (id INT, customer_id INT, product_id INT, purchase_date DATE, quantity_sold INT, price DECIMAL(10, 2)); INSERT INTO purchases (id, customer_id, product_id, purchase_date, quantity_sold, price) VALUES (1, 1, 1, '2022-01-01', 50, 100), (2, 2, 2, '2022-01-02', 75, 150), (3, 3, 3, '2022-01-03', 100, 200); CREATE TABLE products (id INT, name VARCHAR(255), is_sustainable BOOLEAN); INSERT INTO products (id, name, is_sustainable) VALUES (1, 'Product X', TRUE), (2, 'Product Y', FALSE), (3, 'Product Z', TRUE);
SELECT c.name, SUM(p.price * p.quantity_sold) as total_spent FROM purchases p JOIN customers c ON p.customer_id = c.id JOIN products pr ON p.product_id = pr.id WHERE pr.is_sustainable = TRUE GROUP BY c.name ORDER BY total_spent DESC LIMIT 5;