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 os nomes dos produtos que têm uma pontuação de preferência acima da pontuação média de preferência para produtos na mesma categoria.
 ###Tabelas: 
CREATE TABLE consumer_preference (id INT PRIMARY KEY, consumer_id INT, product_id INT, preference_score INT, category VARCHAR(100));CREATE TABLE product (id INT PRIMARY KEY, name VARCHAR(100));CREATE TABLE consumer (id INT PRIMARY KEY, name VARCHAR(100), age INT, gender VARCHAR(100));CREATE VIEW avg_preference_score_by_category AS SELECT category, AVG(preference_score) as avg_preference_score FROM consumer_preference GROUP BY category;
SELECT p.name FROM product p JOIN consumer_preference cp ON p.id = cp.product_id JOIN avg_preference_score_by_category aps ON cp.category = aps.category WHERE cp.preference_score > aps.avg_preference_score;