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 de programas de desenvolvimento profissional frequentados por professores em cada distrito?
 ###Tabelas: 
CREATE TABLE districts (district_id INT, district_name TEXT); INSERT INTO districts (district_id, district_name) VALUES (1, 'Downtown'), (2, 'Uptown'), (3, 'Suburbs'); CREATE TABLE teachers (teacher_id INT, teacher_name TEXT, district_id INT); INSERT INTO teachers (teacher_id, teacher_name, district_id) VALUES (1, 'Mrs. Doe', 1), (2, 'Mr. Smith', 2), (3, 'Ms. Johnson', 3), (4, 'Mr. Williams', 1); CREATE TABLE professional_development (program_id INT, program_name TEXT, teacher_id INT); INSERT INTO professional_development (program_id, program_name, teacher_id) VALUES (1, 'Python for Educators', 1), (2, 'Data Science for Teachers', 2), (3, 'Inclusive Teaching', 3), (4, 'Open Pedagogy', 4), (5, 'Diversity and Inclusion', 1), (6, 'Curriculum Design', 2);
SELECT d.district_name, COUNT(pd.program_id) as num_programs FROM districts d JOIN teachers t ON d.district_id = t.district_id JOIN professional_development pd ON t.teacher_id = pd.teacher_id GROUP BY d.district_name;