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: Quais programas receberam mais financiamento de doadores?
 ###Tabelas: 
CREATE TABLE donation (donation_id INT, donor_id INT, org_id INT, program_id INT, amount DECIMAL(10,2)); INSERT INTO donation (donation_id, donor_id, org_id, program_id, amount) VALUES (1, 1001, 1, 101, 5000.00), (2, 1001, 1, 102, 7500.00), (3, 1002, 2, 201, 1000.00), (4, 1002, 2, 202, 2000.00), (5, 1003, 3, 301, 3000.00), (6, 1003, 3, 302, 4000.00), (7, 1004, 1, 103, 6000.00); CREATE TABLE program (org_id INT, program_id INT, program_name VARCHAR(255)); INSERT INTO program (org_id, program_id, program_name) VALUES (1, 101, 'Youth Empowerment'), (1, 102, 'Women Empowerment'), (1, 103, 'Elderly Care'), (2, 201, 'Education'), (2, 202, 'Healthcare'), (3, 301, 'Environment'), (3, 302, 'Technology');
SELECT program.program_name, SUM(donation.amount) as total_funding FROM donation JOIN program ON donation.program_id = program.program_id GROUP BY program.program_name ORDER BY total_funding DESC;