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: Quem são os top 5 fãs que mais gastaram em mercadorias nos últimos 3 meses?
 ###Tabelas: 
CREATE TABLE fans (fan_id INT, fan_name VARCHAR(50));CREATE TABLE merchandise (merchandise_id INT, merchandise_name VARCHAR(50), unit_price DECIMAL(5,2));CREATE TABLE sales (sale_id INT, fan_id INT, merchandise_id INT, sale_date DATE, quantity INT); INSERT INTO fans (fan_id, fan_name) VALUES (1, 'Fan1'), (2, 'Fan2'), (3, 'Fan3'); INSERT INTO merchandise (merchandise_id, merchandise_name, unit_price) VALUES (1, 'T-Shirt', 20.00), (2, 'Hat', 15.00); INSERT INTO sales (sale_id, fan_id, merchandise_id, sale_date, quantity) VALUES (1, 1, 1, '2022-01-01', 5), (2, 2, 2, '2022-01-02', 3);
SELECT f.fan_name, SUM(m.unit_price * s.quantity) as total_spent FROM fans f JOIN sales s ON f.fan_id = s.fan_id JOIN merchandise m ON s.merchandise_id = m.merchandise_id WHERE s.sale_date >= DATEADD(month, -3, GETDATE()) GROUP BY f.fan_name ORDER BY total_spent DESC LIMIT 5;