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: Quem são os 3 principais contribuidores para projetos de IA ética por financiamento?
 ###Tabelas: 
CREATE TABLE contributor (contributor_id INT, contributor_name VARCHAR(255), amount DECIMAL(10,2)); INSERT INTO contributor (contributor_id, contributor_name, amount) VALUES (1, 'Tech for Good Foundation', 600000), (2, 'AI Ethics Alliance', 450000), (3, 'Digital Responsibility Fund', 500000), (4, 'Inclusive AI Coalition', 300000); CREATE TABLE contributor_project (contributor_id INT, project_id INT); INSERT INTO contributor_project (contributor_id, project_id) VALUES (1, 1), (2, 1), (3, 1), (4, 2);
SELECT contributor_name, SUM(amount) as total_contribution FROM contributor JOIN contributor_project ON contributor.contributor_id = contributor_project.contributor_id JOIN (SELECT project_id FROM project_budget WHERE project_name LIKE '%AI ethics%' GROUP BY project_id) AS project_filter ON contributor_project.project_id = project_filter.project_id GROUP BY contributor_name ORDER BY total_contribution DESC LIMIT 3;