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 programa, excluindo doações anônimas, no ano de 2020?
 ###Tabelas: 
CREATE TABLE donations (id INT, donation_amount DECIMAL(10,2), donation_date DATE, program_name VARCHAR(50)); INSERT INTO donations (id, donation_amount, donation_date, program_name) VALUES (1, 50.00, '2020-01-05', 'Program A'), (2, 100.00, '2020-03-15', 'Program B'), (3, 75.00, '2020-01-20', 'Program A'), (4, 150.00, '2020-02-01', 'Program C'), (5, 200.00, '2020-04-01', 'Program A'); CREATE TABLE programs (id INT, program_name VARCHAR(50)); INSERT INTO programs (id, program_name) VALUES (1, 'Program A'), (2, 'Program B'), (3, 'Program C');
SELECT p.program_name, AVG(d.donation_amount) AS avg_donation FROM donations d JOIN programs p ON d.program_name = p.program_name WHERE d.donor_name != 'Anonymous' AND YEAR(d.donation_date) = 2020 GROUP BY p.program_name;