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: Identificar os 5 principais clientes que fizeram mais compras de fornecedores éticos.
 ###Tabelas: 
CREATE TABLE customers (customer_id INT, customer_name VARCHAR(50), ethical_supplier BOOLEAN); INSERT INTO customers (customer_id, customer_name, ethical_supplier) VALUES (1, 'Customer A', TRUE), (2, 'Customer B', FALSE), (3, 'Customer C', TRUE), (4, 'Customer D', FALSE), (5, 'Customer E', TRUE); CREATE TABLE purchases (purchase_id INT, customer_id INT, product_id INT, supplier_id INT); INSERT INTO purchases (purchase_id, customer_id, product_id, supplier_id) VALUES (1, 1, 1, 1), (2, 2, 2, 2), (3, 3, 3, 3), (4, 4, 4, 4), (5, 5, 5, 1), (6, 1, 6, 2), (7, 3, 7, 1), (8, 5, 8, 3);
SELECT c.customer_name, COUNT(p.customer_id) AS total_purchases FROM purchases p JOIN customers c ON p.customer_id = c.customer_id WHERE c.ethical_supplier = TRUE GROUP BY c.customer_name ORDER BY total_purchases DESC LIMIT 5;