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: Quais programas tiveram as despesas totais mais altas e mais baixas no primeiro semestre de 2021?
 ###Tabelas: 
CREATE TABLE programs (program_id INT, program_name TEXT, program_expenses FLOAT, program_date DATE); INSERT INTO programs (program_id, program_name, program_expenses, program_date) VALUES (1, 'Education', 8000, '2021-01-01'); INSERT INTO programs (program_id, program_name, program_expenses, program_date) VALUES (2, 'Health', 5000, '2021-03-01');
SELECT program_name, program_expenses FROM (SELECT program_name, program_expenses, ROW_NUMBER() OVER (ORDER BY program_expenses DESC) AS high_expense, ROW_NUMBER() OVER (ORDER BY program_expenses ASC) AS low_expense FROM programs WHERE EXTRACT(YEAR FROM program_date) = 2021 AND EXTRACT(MONTH FROM program_date) BETWEEN 1 AND 6) AS subquery WHERE high_expense = 1 OR low_expense = 1;