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 2 principais estados com a maior alocação de orçamento para serviços ambientais, excluindo estados com uma população acima de 10 milhões.
 ###Tabelas: 
CREATE TABLE state_info (state VARCHAR(20), population INT); INSERT INTO state_info (state, population) VALUES ('StateX', 8000000), ('StateY', 6000000), ('StateZ', 4000000), ('StateW', 12000000); CREATE TABLE state_budget (state VARCHAR(20), service VARCHAR(20), allocation INT); INSERT INTO state_budget (state, service, allocation) VALUES ('StateX', 'Environmental', 2500000), ('StateY', 'Environmental', 2000000), ('StateZ', 'Environmental', 3000000), ('StateW', 'Environmental', 1000000);
SELECT state, SUM(allocation) as total_allocation FROM state_budget WHERE service = 'Environmental' AND state NOT IN (SELECT state FROM state_info WHERE population > 10000000) GROUP BY state ORDER BY total_allocation DESC LIMIT 2;