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: Encontre as 3 fábricas com a maior taxa de reciclagem no último mês.
 ###Tabelas: 
CREATE TABLE factories (id INT, name VARCHAR(255), recycling_rate DECIMAL(10, 2));CREATE TABLE recycling_reports (id INT, factory_id INT, report_date DATE);
SELECT factories.name, factories.recycling_rate FROM factories INNER JOIN recycling_reports ON factories.id = recycling_reports.factory_id WHERE recycling_reports.report_date >= DATE_SUB(CURRENT_DATE, INTERVAL 1 MONTH) GROUP BY factories.id ORDER BY factories.recycling_rate DESC LIMIT 3;