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: Mostrar o número de programas de educação comunitária para cada tipo de habitat, com base nas tabelas "education_programs", "habitat_preservation" e "habitats".
 ###Tabelas: 
CREATE TABLE education_programs (program_name VARCHAR(255), habitat_type VARCHAR(255)); CREATE TABLE habitat_preservation (habitat_type VARCHAR(255), location VARCHAR(255)); CREATE TABLE habitats (habitat_type VARCHAR(255), area_size FLOAT);
SELECT h1.habitat_type, COUNT(e1.program_name) as num_programs FROM education_programs e1 INNER JOIN habitat_preservation h1 ON e1.habitat_type = h1.habitat_type INNER JOIN habitats h2 ON h1.habitat_type = h2.habitat_type GROUP BY h1.habitat_type;