Je hebt twee joins nodig:
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
Als een product in geen enkele categorie valt en je het toch wilt retourneren, verander dan JOIN in LEFT JOIN op beide plaatsen.
Een alternatieve benadering:
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
Het is echter misschien beter om gewoon twee zoekopdrachten te gebruiken in plaats van meerdere waarden in een enkele cel te plaatsen.