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: Listar todos os doadores, suas informações de contato e o valor total que eles doaram para cada programa, juntamente com os detalhes do programa, para programas ambientais.
 ###Tabelas: 
CREATE TABLE donors (id INT, name TEXT, email TEXT); CREATE TABLE donations (id INT, donor_id INT, program_id INT, amount DECIMAL); CREATE TABLE programs (id INT, name TEXT, location TEXT, budget INT);
SELECT donors.name as donor_name, programs.name as program_name, SUM(donations.amount) as total_donation FROM donors INNER JOIN donations ON donors.id = donations.donor_id INNER JOIN programs ON donations.program_id = programs.id WHERE programs.name LIKE '%Environment%' GROUP BY donors.id, programs.name;