Which of the previous products are more expensive than the average price of all products? | Do you mean to find the names of those products that are more expensive than the average price of all products? | Only the names of those products supplied by supplier id 2.
SELECT T1.product_id FROM product_suppliers AS T1 JOIN products AS T2 ON T1.product_id   =   T2.product_id WHERE T1.supplier_id   =   2 AND T2.product_price  >   ( SELECT avg ( product_price )  FROM products ) 
products more expensive than the average price of all products refers to T2.product_price > (SELECT AVG(product_price) FROM products); only names of products supplied by supplier id 2 refers to WHERE T1.supplier_id = 2;