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 3 principais estados com a maior alocação de orçamento para serviços de transporte, excluindo estados com uma população inferior a 5 milhões.
 ###Tabelas: 
CREATE TABLE state_info (state VARCHAR(20), population INT); INSERT INTO state_info (state, population) VALUES ('StateA', 6000000), ('StateB', 4000000), ('StateC', 8000000), ('StateD', 3000000); CREATE TABLE state_budget (state VARCHAR(20), service VARCHAR(20), allocation INT); INSERT INTO state_budget (state, service, allocation) VALUES ('StateA', 'Transportation', 3000000), ('StateB', 'Transportation', 2000000), ('StateC', 'Transportation', 4000000), ('StateD', 'Transportation', 1000000);
SELECT state, SUM(allocation) as total_allocation FROM state_budget WHERE service = 'Transportation' AND state NOT IN (SELECT state FROM state_info WHERE population < 5000000) GROUP BY state ORDER BY total_allocation DESC LIMIT 3;