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: Listar todas as iniciativas de mitigação do clima na África que foram implementadas antes de 2010 e receberam financiamento de fontes públicas e privadas.
 ###Tabelas: 
CREATE TABLE climate_mitigation (initiative VARCHAR(50), funding_source VARCHAR(50), year INT); INSERT INTO climate_mitigation (initiative, funding_source, year) VALUES ('Solar Energy Program', 'Public', 2005), ('Wind Farm Development', 'Private', 2008), ('Energy Efficiency Project', 'Public-Private', 2009); CREATE TABLE initiatives (initiative VARCHAR(50), region VARCHAR(50)); INSERT INTO initiatives (initiative, region) VALUES ('Solar Energy Program', 'Africa'), ('Wind Farm Development', 'Africa'), ('Energy Efficiency Project', 'Africa');
SELECT i.initiative FROM initiatives i INNER JOIN climate_mitigation cm ON i.initiative = cm.initiative WHERE i.region = 'Africa' AND (cm.funding_source = 'Public' OR cm.funding_source = 'Private') AND cm.year < 2010;