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: Quem são os 3 principais doadores para os esforços de conservação de 'Restauração do Habitat'?
 ###Tabelas: 
CREATE TABLE conservation_efforts (id INT, effort_name VARCHAR(50), location VARCHAR(50)); INSERT INTO conservation_efforts (id, effort_name, location) VALUES (1, 'Habitat Restoration', 'Amazon Rainforest'); INSERT INTO conservation_efforts (id, effort_name, location) VALUES (2, 'Marine Life Protection', 'Great Barrier Reef');
SELECT d.donor_name, SUM(d.donation) as total_donation FROM donors d JOIN conservation_efforts ce ON d.conservation_effort_id = ce.id WHERE ce.effort_name = 'Habitat Restoration' GROUP BY d.donor_name ORDER BY total_donation DESC LIMIT 3;