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: Liste os nomes de todas as organizações sem fins lucrativos e o número de voluntários que elas gerenciaram nos últimos 6 meses.
 ###Tabelas: 
CREATE TABLE non_profit (id INT, name TEXT); INSERT INTO non_profit (id, name) VALUES (1, 'Habitat for Humanity'), (2, 'American Red Cross'), (3, 'Doctors Without Borders'); CREATE TABLE volunteers (id INT, name TEXT, non_profit_id INT); INSERT INTO volunteers (id, name, non_profit_id) VALUES (1, 'John Doe', 1), (2, 'Jane Smith', 2), (3, 'Alice Johnson', 1), (4, 'Bob Williams', 3), (5, 'John Williams', 1); CREATE TABLE volunteer_management (volunteer_id INT, management_date DATE); INSERT INTO volunteer_management (volunteer_id, management_date) VALUES (1, '2021-05-12'), (2, '2022-03-15'), (3, '2021-12-28'), (4, '2021-01-02'), (5, 1, NULL);
SELECT n.name, COUNT(v.id) as num_volunteers FROM non_profit n INNER JOIN volunteers v ON n.id = v.non_profit_id INNER JOIN volunteer_management vm ON v.id = vm.volunteer_id WHERE vm.management_date >= DATE_SUB(CURRENT_DATE, INTERVAL 6 MONTH) GROUP BY n.id;