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 da doação por voluntário por categoria de programa?
 ###Tabelas: 
CREATE TABLE volunteers (volunteer_id INT, org_id INT);CREATE TABLE programs (program_id INT, program_category_id INT);CREATE TABLE donations (donation_id INT, donor_id INT, program_id INT, donation_amount DECIMAL(10,2)); INSERT INTO volunteers (volunteer_id, org_id) VALUES (1, 1), (2, 1), (3, 2), (4, 2), (5, 3), (6, 3), (7, 3); INSERT INTO programs (program_id, program_category_id) VALUES (1, 1), (2, 1), (3, 2), (4, 3); INSERT INTO donations (donation_id, donor_id, program_id, donation_amount) VALUES (1, 1, 1, 500.00), (2, 2, 1, 750.00), (3, 3, 2, 300.00), (4, 4, 3, 400.00), (5, 5, 3, 600.00), (6, 1, 1, 800.00), (7, 2, 2, 500.00);
SELECT pc.program_category_name, AVG(d.donation_amount) as avg_donation_amount_per_volunteer FROM programs p JOIN donations d ON p.program_id = d.program_id JOIN volunteers v ON p.org_id = v.org_id JOIN program_categories pc ON p.program_category_id = pc.program_category_id GROUP BY pc.program_category_name;