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: Liste as 3 principais cidades com o maior orçamento de desenvolvimento profissional de professores?
 ###Tabelas: 
CREATE TABLE city (city_id INT, city_name VARCHAR(255)); CREATE TABLE teacher_professional_development (city_id INT, budget INT); INSERT INTO city (city_id, city_name) VALUES (5001, 'City A'), (5002, 'City B'), (5003, 'City C'); INSERT INTO teacher_professional_development (city_id, budget) VALUES (5001, 22000), (5002, 27000), (5003, 21000); CREATE VIEW city_budget AS SELECT city_id, SUM(budget) as total_budget FROM teacher_professional_development GROUP BY city_id;
SELECT city_name, total_budget FROM city JOIN city_budget ON city.city_id = city_budget.city_id ORDER BY total_budget DESC LIMIT 3;