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: Encontre o número de animais para cada espécie, agrupados por região, e filtre as espécies com mais de 100 animais nas tabelas "animal_population", "countries" e "endangered_species".
 ###Tabelas: 
CREATE TABLE animal_population (species VARCHAR(255), animal_count INT, country VARCHAR(255), endangered BOOLEAN); CREATE TABLE countries (country VARCHAR(255), region VARCHAR(255));
SELECT c1.region, e1.species, SUM(e1.animal_count) as total_count FROM animal_population e1 INNER JOIN countries c1 ON e1.country = c1.country WHERE e1.endangered = FALSE GROUP BY c1.region, e1.species HAVING total_count > 100;