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: Encontrar os 5 principais doadores para o programa 'Arts'?
 ###Tabelas: 
CREATE TABLE Donors (DonorID INT, DonorName VARCHAR(50), DonationAmount DECIMAL(10,2)); INSERT INTO Donors (DonorID, DonorName, DonationAmount) VALUES (1, 'John Smith', 500), (2, 'Jane Doe', 750), (3, 'Bob Johnson', 1000), (4, 'Alice Williams', 1200), (5, 'Charlie Brown', 1500); CREATE TABLE DonationPrograms (DonationID INT, ProgramID INT); INSERT INTO DonationPrograms (DonationID, ProgramID) VALUES (1, 1), (2, 1), (1, 2), (3, 2), (4, 3), (5, 3), (5, 4);
SELECT D.DonorID, D.DonorName, SUM(D.DonationAmount) AS TotalDonated FROM Donors D JOIN DonationPrograms DP ON D.DonationID = DP.DonationID WHERE DP.ProgramID = (SELECT ProgramID FROM Programs WHERE ProgramName = 'Arts') GROUP BY D.DonorID, D.DonorName ORDER BY TotalDonated DESC LIMIT 5;