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 produtos de maquiagem livres de crueldade com ingredientes veganos e seus preços médios de venda.
 ###Tabelas: 
CREATE TABLE MakeupSales (sale_id INT, product_id INT, sale_price DECIMAL(5,2), sale_date DATE, is_cruelty_free BOOLEAN, is_vegan BOOLEAN); INSERT INTO MakeupSales (sale_id, product_id, sale_price, sale_date, is_cruelty_free, is_vegan) VALUES (1, 201, 24.99, '2022-01-10', true, true); CREATE TABLE ProductIngredients (ingredient_id INT, product_id INT, is_vegan BOOLEAN); INSERT INTO ProductIngredients (ingredient_id, product_id, is_vegan) VALUES (1, 201, true);
SELECT m.product_id, m.product_name, AVG(m.sale_price) FROM MakeupSales m JOIN ProductIngredients pi ON m.product_id = pi.product_id WHERE m.is_cruelty_free = true AND pi.is_vegan = true GROUP BY m.product_id;