Ich vermute, Ihnen fehlt der EXISTS
Klausel.
Die folgende Abfrage selektiert alle Kategorien, für die mindestens eine Zeile in der Schnittpunkttabelle existiert.
SELECT category_name
FROM categories c
WHERE EXISTS (
SELECT 1
FROM assigned_cat ac
WHERE ac.category_id = c.category_id
)