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: Quem são os 3 principais voluntários com o maior total de horas de voluntariado para o programa de Apoio à Educação, e quais são as suas idades?
 ###Tabelas: 
CREATE TABLE Volunteers (VolunteerID INT, VolunteerName VARCHAR(255), Age INT, ProgramID INT); CREATE TABLE Programs (ProgramID INT, ProgramName VARCHAR(255));
SELECT VolunteerName, Age, SUM(Hours) AS TotalHours, RANK() OVER (PARTITION BY ProgramID ORDER BY SUM(Hours) DESC) AS VolunteerRank FROM VolunteerHours JOIN Volunteers ON VolunteerHours.VolunteerID = Volunteers.VolunteerID JOIN Programs ON Volunteers.ProgramID = Programs.ProgramID WHERE ProgramName = 'Education Support' GROUP BY VolunteerName, Age, ProgramID;