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 número médio de horas de voluntariado por programa em 2023, classificado em ordem ascendente?
 ###Tabelas: 
CREATE TABLE Programs (ProgramID INT, ProgramName VARCHAR(50), StartDate DATE); CREATE TABLE Volunteers (VolunteerID INT, ProgramID INT, SignUpDate DATE, Hours DECIMAL(10,2)); INSERT INTO Programs (ProgramID, ProgramName, StartDate) VALUES (1, 'ProgramA', '2023-01-01'), (2, 'ProgramB', '2023-01-01'), (3, 'ProgramC', '2023-01-01'); INSERT INTO Volunteers (VolunteerID, ProgramID, SignUpDate, Hours) VALUES (1, 1, '2023-01-01', 5.00), (2, 1, '2023-01-02', 10.00), (3, 2, '2023-01-01', 7.50), (4, NULL, '2023-01-01', 2.00);
SELECT p.ProgramName, AVG(v.Hours) AS AvgHoursPerProgram FROM Programs p JOIN Volunteers v ON p.ProgramID = v.ProgramID WHERE YEAR(v.SignUpDate) = 2023 GROUP BY p.ProgramName ORDER BY AvgHoursPerProgram ASC;