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: Qual é a porcentagem de voluntários que se inscreveram em cada programa, em relação ao número total de voluntários, para programas que começaram em 2018, ordenados pela porcentagem em ordem decrescente?
 ###Tabelas: 
CREATE TABLE Programs (ProgramID INT, ProgramName VARCHAR(50), StartDate DATE); CREATE TABLE Volunteers (VolunteerID INT, ProgramID INT, SignUpDate DATE); INSERT INTO Programs (ProgramID, ProgramName, StartDate) VALUES (1, 'ProgramA', '2018-01-01'), (2, 'ProgramB', '2018-01-01'); INSERT INTO Volunteers (VolunteerID, ProgramID, SignUpDate) VALUES (1, 1, '2018-01-01'), (2, 1, '2018-01-02'), (3, 2, '2018-01-01'), (4, NULL, '2018-01-01');
SELECT p.ProgramID, p.ProgramName, COUNT(v.VolunteerID) * 100.0 / (SELECT COUNT(*) FROM Volunteers) AS Percentage FROM Programs p LEFT JOIN Volunteers v ON p.ProgramID = v.ProgramID WHERE p.StartDate >= '2018-01-01' GROUP BY p.ProgramID, p.ProgramName ORDER BY Percentage DESC;