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 doadores contribuíram mais para programas ambientais em 2022?
 ###Tabelas: 
CREATE TABLE Donations (DonationID int, DonorID int, Amount decimal, DonationDate date, ProgramID int); CREATE TABLE Donors (DonorID int, DonorName varchar(50)); CREATE TABLE Programs (ProgramID int, ProgramName varchar(50)); INSERT INTO Donors (DonorID, DonorName) VALUES (1, 'John Smith'); INSERT INTO Programs (ProgramID, ProgramName) VALUES (1, 'Environment'); INSERT INTO Donations (DonationID, DonorID, Amount, DonationDate, ProgramID) VALUES (1, 1, 1000, '2022-01-01', 1);
SELECT DonorName, SUM(Amount) as TotalDonationToEnvironment FROM Donations JOIN Donors ON Donations.DonorID = Donors.DonorID WHERE ProgramID = 1 AND YEAR(DonationDate) = 2022 GROUP BY DonorName ORDER BY TotalDonationToEnvironment DESC;