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: Liste as 3 principais categorias sem fins lucrativos com os maiores valores médios de doação em 2022.
 ###Tabelas: 
CREATE TABLE donations (donation_id INT, donor_id INT, nonprofit_id INT, donation_amount DECIMAL(10,2), donation_date DATE); INSERT INTO donations (donation_id, donor_id, nonprofit_id, donation_amount, donation_date) VALUES (1, 1, 1, 500, '2022-01-05'); INSERT INTO donations (donation_id, donor_id, nonprofit_id, donation_amount, donation_date) VALUES (2, 2, 2, 300, '2022-03-10'); INSERT INTO donations (donation_id, donor_id, nonprofit_id, donation_amount, donation_date) VALUES (3, 3, 1, 250, '2022-04-20');
SELECT nonprofit_category, AVG(donation_amount) as avg_donation FROM donations JOIN nonprofits ON donations.nonprofit_id = nonprofits.nonprofit_id WHERE donation_date BETWEEN '2022-01-01' AND '2022-12-31' GROUP BY nonprofit_category ORDER BY avg_donation DESC LIMIT 3;