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 cursos de desenvolvimento profissional realizados por professores no "DistritoX" em 2021.
 ###Tabelas: 
CREATE TABLE DistrictX (teacher_id INT, course_id INT, course_date DATE); INSERT INTO DistrictX (teacher_id, course_id, course_date) VALUES (1, 101, '2021-01-05'), (1, 102, '2021-06-12'), (2, 101, '2021-03-20'), (3, 103, '2021-12-31'), (4, 102, '2021-09-01'), (5, 101, '2021-05-15'); CREATE TABLE Courses (course_id INT, course_name VARCHAR(255)); INSERT INTO Courses (course_id, course_name) VALUES (101, 'SQL for Data Analysis'), (102, 'Introduction to Open Pedagogy'), (103, 'Mindfulness for Teachers');
SELECT course_id, course_name, COUNT(*) as num_teachers FROM DistrictX d JOIN Courses c ON d.course_id = c.course_id WHERE course_date <= '2021-12-31' GROUP BY course_id, course_name ORDER BY num_teachers DESC LIMIT 5;