Sie benötigen zwei Joins:
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
Wenn ein Produkt in keine Kategorie passt und Sie es trotzdem zurückgeben möchten, ändern Sie JOIN an beiden Stellen in LEFT JOIN.
Ein alternativer Ansatz:
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
Es könnte jedoch besser sein, nur zwei Abfragen zu verwenden, anstatt mehrere Werte in eine einzelne Zelle zu schreiben.