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 principais causas que receberam mais financiamento de fundações no Canadá em 2020?
 ###Tabelas: 
CREATE TABLE Causes (id INT, cause_name TEXT, total_funding DECIMAL(10, 2), cause_category TEXT); CREATE TABLE Foundation_Donations (foundation_id INT, cause_id INT, donation_amount DECIMAL(10, 2), donation_date DATE); CREATE TABLE Foundations (id INT, foundation_name TEXT, country TEXT);
SELECT c.cause_name, SUM(fd.donation_amount) AS total_funding FROM Causes c JOIN Foundation_Donations fd ON c.id = fd.cause_id JOIN Foundations f ON fd.foundation_id = f.id WHERE f.country = 'Canada' GROUP BY c.cause_name ORDER BY total_funding DESC LIMIT 3;