Имате нужда от две обединявания:
SELECT
product.productID,
category.categoryID,
product.name,
product.price,
category.name
FROM product
JOIN product_cat ON product.productID = product_cat.productID
JOIN category ON category.categoryID = product_cat.categoryID
Ако даден продукт може да не е в никакви категории и все пак искате да го върнете, променете JOIN на LEFT JOIN и на двете места.
Алтернативен подход:
SELECT
product.productID,
product.name,
product.price,
GROUP_CONCAT(category.name)
FROM product
JOIN product_cat ON product.productID = product_cat.productID
JOIN category ON category.categoryID = product_cat.categoryID
GROUP BY product.productID
Въпреки това може да е по-добре просто да използвате две заявки, вместо да поставяте множество стойности в една клетка.