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 membros do corpo docente que receberam bolsas de pesquisa e publicaram artigos nos últimos três anos, agrupados por departamento.
 ###Tabelas: 
CREATE TABLE departments (department VARCHAR(50)); INSERT INTO departments VALUES ('Computer Science'), ('Mathematics'), ('Physics'); CREATE TABLE faculty (faculty_id INT, name VARCHAR(50), department VARCHAR(50), grant_received BOOLEAN, publication_year INT); INSERT INTO faculty VALUES (1, 'Ahmed Patel', 'Computer Science', true, 2021), (2, 'Bella Kim', 'Mathematics', false, 2020), (3, 'Carlos Gonzales', 'Physics', true, 2019), (4, 'Dana Lee', 'Computer Science', false, 2021), (5, 'Ella Johnson', 'Mathematics', true, 2020), (6, 'Farid Ahmed', 'Physics', true, 2019);
SELECT d.department, COUNT(f.faculty_id) FROM departments d JOIN faculty f ON d.department = f.department WHERE f.grant_received = true AND f.publication_year BETWEEN YEAR(CURRENT_DATE) - 3 AND YEAR(CURRENT_DATE) GROUP BY d.department;