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: Liste os 3 principais contribuintes para o programa ambiental, ordenados pelo valor total das doações.
 ###Tabelas: 
CREATE TABLE Donors (id INT, name VARCHAR(255), contact_info VARCHAR(255)); CREATE TABLE Donations (id INT, donor_id INT, program VARCHAR(255), amount DECIMAL(10, 2)); INSERT INTO Donors (id, name, contact_info) VALUES (1, 'John Doe', 'johndoe@example.com'), (2, 'Jane Smith', 'janesmith@example.com'); INSERT INTO Donations (id, donor_id, program, amount) VALUES (1, 1, 'Environment', 500.00), (2, 1, 'Environment', 300.00), (3, 2, 'Arts and Culture', 400.00);
SELECT Donors.name, SUM(Donations.amount) as total_donation FROM Donors INNER JOIN Donations ON Donors.id = Donations.donor_id WHERE program = 'Environment' GROUP BY Donors.name ORDER BY total_donation DESC LIMIT 3;