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 doadores por valor total de doação para uma resposta a desastres nas Américas, com informações detalhadas sobre o desastre e as organizações receptoras.
 ###Tabelas: 
CREATE TABLE disaster (disaster_id INT, name VARCHAR(255), location VARCHAR(255), start_date DATE); INSERT INTO disaster VALUES (1, 'Hurricane Katrina', 'USA', '2005-08-29'); INSERT INTO disaster VALUES (2, 'Earthquake', 'Mexico', '2017-09-19'); CREATE TABLE donation (donation_id INT, disaster_id INT, donor_id INT, amount DECIMAL(10,2)); INSERT INTO donation VALUES (1, 1, 1001, 500000); INSERT INTO donation VALUES (2, 2, 1002, 750000); CREATE TABLE donor (donor_id INT, name VARCHAR(255), type VARCHAR(255)); INSERT INTO donor VALUES (1001, 'Donor1', 'Individual'); INSERT INTO donor VALUES (1002, 'Donor2', 'Corporation'); CREATE TABLE organization (org_id INT, name VARCHAR(255), type VARCHAR(255)); INSERT INTO organization VALUES (1, 'ORG1', 'NGO'); INSERT INTO organization VALUES (2, 'ORG2', 'Government Agency');
SELECT donor.name, SUM(donation.amount) as total_donation, disaster.name, organization.name as recipient FROM donation JOIN donor ON donation.donor_id = donor.donor_id JOIN disaster ON donation.disaster_id = disaster.disaster_id JOIN organization ON disaster.org_id = organization.org_id WHERE disaster.location = 'Americas' GROUP BY donor.name ORDER BY total_donation DESC LIMIT 3;