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 habitats com mais de 30 animais e o número de espécies em cada um, excluindo aqueles habitats que não estão protegidos.
 ###Tabelas: 
CREATE TABLE habitats (id INT, name VARCHAR(255), is_protected BOOLEAN);CREATE TABLE animals (id INT, species_id INT, habitat_id INT);CREATE TABLE species (id INT, name VARCHAR(255)); INSERT INTO habitats (id, name, is_protected) VALUES (1, 'Forest', TRUE), (2, 'Savannah', FALSE), (3, 'Mountain', TRUE); INSERT INTO animals (id, species_id, habitat_id) VALUES (1, 1, 2), (2, 2, 1), (3, 3, 2), (4, 1, 2), (5, 4, 1), (6, 5, 3); INSERT INTO species (id, name) VALUES (1, 'Lion'), (2, 'Elephant'), (3, 'Giraffe'), (4, 'Zebra'), (5, 'Snow Leopard');
SELECT h.name AS habitat_name, COUNT(DISTINCT a.species_id) AS species_count FROM animals a INNER JOIN habitats h ON a.habitat_id = h.id WHERE h.is_protected = TRUE GROUP BY h.name HAVING COUNT(a.id) > 30;