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 todos os doadores que fizeram doações tanto no primeiro quanto no segundo semestre de 2021.
 ###Tabelas: 
CREATE TABLE Donors (DonorID INT, DonorName TEXT); CREATE TABLE Donations (DonationID INT, DonorID INT, DonationAmount FLOAT, DonationDate DATE); INSERT INTO Donors (DonorID, DonorName) VALUES (1, 'John Doe'), (2, 'Jane Smith'), (3, 'Alice Johnson'); INSERT INTO Donations (DonationID, DonorID, DonationAmount, DonationDate) VALUES (1, 1, 100.00, '2021-01-01'), (2, 2, 200.00, '2021-01-02'), (3, 1, 150.00, '2021-07-01'), (4, 3, 300.00, '2021-08-01');
SELECT DonorName FROM Donors WHERE DonorID IN (SELECT DonorID FROM Donations WHERE DonationDate BETWEEN '2021-01-01' AND '2021-06-30') AND DonorID IN (SELECT DonorID FROM Donations WHERE DonationDate BETWEEN '2021-07-01' AND '2021-12-31');