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: Encontre os 5 produtos de maquiagem cruelty-free mais comprados por consumidores com preferência por 'vegan' no Canadá no primeiro semestre de 2021, ordenados pela quantidade vendida.
 ###Tabelas: 
CREATE TABLE products(product_id INT, product_name TEXT, category TEXT, is_cruelty_free BOOLEAN, is_vegan BOOLEAN);CREATE TABLE sales_canada(sale_id INT, product_id INT, quantity INT, sale_date DATE);
SELECT p.product_name, SUM(s.quantity) AS total_quantity_sold FROM products p JOIN sales_canada s ON p.product_id = s.product_id WHERE p.category = 'makeup' AND p.is_cruelty_free = TRUE AND p.is_vegan = TRUE AND DATE_PART('year', s.sale_date) = 2021 AND DATE_PART('quarter', s.sale_date) <= 2 GROUP BY p.product_name ORDER BY total_quantity_sold DESC LIMIT 5;