so far, so good
you don't join to it by not joining to it
i'm not sure what you aren't getting
list products along with their keywords for selected products --
, GROUP_CONCAT(pk.keywords) AS keywords
FROM product AS p
JOIN productkeywords AS pk
ON pk.prodcode = p.prodcode
WHERE p.descr LIKE '%pants%'
find products which have a certain keyword --
FROM productkeywords AS pk
JOIN product AS p
ON p.prodcode = pk.prodcode
WHERE pk.keyword = 'sandal'
see? no keywords table is required in the queries, even though it exists for referential integrity of keywords
methinks you've been using ids too long