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: Identificar os programas com os maiores e menores valores médios de doação, juntamente com os valores totais de doação para cada programa.
 ###Tabelas: 
CREATE TABLE Programs (ProgramID INT, ProgramName VARCHAR(50)); INSERT INTO Programs (ProgramID, ProgramName) VALUES (1, 'Feeding America'), (2, 'Habitat for Humanity'), (3, 'Red Cross'); CREATE TABLE Donations (DonationID INT, ProgramID INT, DonationAmount DECIMAL); INSERT INTO Donations (DonationID, ProgramID, DonationAmount) VALUES (1, 1, 200.00), (2, 1, 150.00), (3, 2, 300.00), (4, 2, 100.00), (5, 3, 50.00), (6, 3, 200.00);
SELECT Programs.ProgramName, AVG(Donations.DonationAmount) as AvgDonation, SUM(Donations.DonationAmount) as TotalDonations FROM Programs JOIN Donations ON Programs.ProgramID = Donations.ProgramID GROUP BY Programs.ProgramName ORDER BY AvgDonation DESC, TotalDonations DESC, Programs.ProgramName;