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: Listar todos os serviços públicos no estado da Califórnia que receberam alocações orçamentárias nos últimos 5 anos, ordenados pelo valor da alocação em ordem decrescente.
 ###Tabelas: 
CREATE TABLE PublicServices (ServiceID INT, ServiceName VARCHAR(255), State VARCHAR(255), AllocationDate DATE); INSERT INTO PublicServices (ServiceID, ServiceName, State, AllocationDate) VALUES (1, 'Waste Management', 'California', '2020-03-15'), (2, 'Street Lighting', 'California', '2019-08-28');
SELECT ServiceName, AllocationDate, Budget FROM PublicServices INNER JOIN BudgetAllocation ON PublicServices.ServiceID = BudgetAllocation.ServiceID WHERE State = 'California' AND AllocationDate >= DATEADD(year, -5, GETDATE()) ORDER BY Budget DESC;