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 5 principais doadores que mais doaram para a mitigação das mudanças climáticas no primeiro semestre de 2019, ordenados pelo valor total das doações.
 ###Tabelas: 
CREATE TABLE donations (donor_id INT, donation_amount DECIMAL(10,2), cause TEXT, donation_date DATE); INSERT INTO donations (donor_id, donation_amount, cause, donation_date) VALUES (1, 10000, 'climate change', '2019-02-20'); CREATE TABLE donors (donor_id INT, donor_name TEXT); INSERT INTO donors (donor_id, donor_name) VALUES (1, 'John Doe');
SELECT donors.donor_name, SUM(donations.donation_amount) as total_donation_amount FROM donations JOIN donors ON donations.donor_id = donors.donor_id WHERE donation_date BETWEEN '2019-01-01' AND '2019-06-30' AND cause = 'climate change' GROUP BY donors.donor_name ORDER BY total_donation_amount DESC LIMIT 5;