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 é a porcentagem de alunos que preferem pedagogia aberta por grupo etário?
 ###Tabelas: 
CREATE TABLE students (student_id INT, student_name VARCHAR(50), age INT, preference VARCHAR(20)); INSERT INTO students (student_id, student_name, age, preference) VALUES (1, 'John Doe', 18, 'Open Pedagogy'), (2, 'Jane Smith', 20, 'Traditional Pedagogy'), (3, 'Alice Johnson', 19, 'Open Pedagogy'), (4, 'Bob Williams', 21, 'Traditional Pedagogy'), (5, 'Charlie Brown', 18, 'Open Pedagogy'); CREATE TABLE age_groups (age INT, age_group VARCHAR(20)); INSERT INTO age_groups (age, age_group) VALUES (18, '18-20'), (19, '18-20'), (20, '18-20'), (21, '21+');
SELECT ag.age_group, (COUNT(s.student_id) * 100.0 / (SELECT COUNT(*) FROM students)) AS percentage FROM students s JOIN age_groups ag ON s.age = ag.age GROUP BY ag.age_group;