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: Identificar os 5 principais programas de desenvolvimento da força de trabalho pelo número de participantes e exibir o nome do programa, total de participantes e horas médias de treinamento por participante.
 ###Tabelas: 
CREATE TABLE workforce_development_programs (id INT PRIMARY KEY, program_name VARCHAR(255), total_participants INT, avg_training_hours_per_participant DECIMAL(5,2)); INSERT INTO workforce_development_programs (id, program_name, total_participants, avg_training_hours_per_participant) VALUES (1, 'Program A', 100, 20), (2, 'Program B', 80, 25), (3, 'Program C', 120, 18), (4, 'Program D', 90, 30), (5, 'Program E', 110, 15);
SELECT program_name, total_participants, avg_training_hours_per_participant FROM (SELECT program_name, total_participants, avg_training_hours_per_participant, ROW_NUMBER() OVER (ORDER BY total_participants DESC) as rank FROM workforce_development_programs) as subquery WHERE rank <= 5;