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: Qual é o valor médio das doações para cada categoria de programa?
 ###Tabelas: 
CREATE TABLE ProgramCategories (CategoryID INT, Category VARCHAR(20)); INSERT INTO ProgramCategories (CategoryID, Category) VALUES (1, 'Education'), (2, 'Health'), (3, 'Environment'); CREATE TABLE Programs (ProgramID INT, CategoryID INT, ProgramName VARCHAR(50)); INSERT INTO Programs (ProgramID, CategoryID, ProgramName) VALUES (100, 1, 'Youth Education'), (200, 2, 'Health Awareness'), (300, 3, 'Environmental Cleanup'); CREATE TABLE Donations (DonationID INT, ProgramID INT, DonationAmount DECIMAL(10,2)); INSERT INTO Donations (DonationID, ProgramID, DonationAmount) VALUES (1, 100, 50.00), (2, 100, 100.00), (3, 200, 200.00), (4, 200, 300.00), (5, 300, 400.00), (6, 300, 500.00), (7, 300, 600.00), (8, 300, 700.00);
SELECT pc.Category, AVG(d.DonationAmount) AS AverageDonationAmount FROM ProgramCategories pc JOIN Programs p ON pc.CategoryID = p.CategoryID JOIN Donations d ON p.ProgramID = d.ProgramID GROUP BY pc.Category;