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 os nomes dos voluntários que doaram mais de $500 no total, mas nunca participaram da categoria de programa 'Animal Welfare'.
 ###Tabelas: 
CREATE TABLE VolunteerDonations (VolunteerID int, DonationAmount decimal(10,2)); INSERT INTO VolunteerDonations (VolunteerID, DonationAmount) VALUES (1, 600.00), (2, 250.00), (3, 800.00), (4, 300.00);
SELECT v.VolunteerName FROM Volunteers v JOIN VolunteerPrograms vp ON v.VolunteerID = vp.VolunteerID JOIN Programs p ON vp.ProgramID = p.ProgramID JOIN VolunteerDonations vd ON v.VolunteerID = vd.VolunteerID WHERE vd.DonationAmount > 500 AND p.Category NOT IN ('Animal Welfare') GROUP BY v.VolunteerID HAVING SUM(vd.DonationAmount) > 500;