Y no hay insert para la tabla productos?
Estas uniendo dos tablas que compartan información y si no hay información en la tabla productos, por consiguiente no se mostraran resultados.
Prueba con left join que muestra lo que tienen en común, mas lo que tiene la tabla declarada a la izquierda (En este caso compradores.) De lo contrario, debe existir registros en la tabla productos para que se de bien la relación.
Código sql:
Ver originalmysql> SELECT C.usuario, C.categoria, P.categoria
-> FROM compradores C INNER JOIN productos P ON C.categoria = P.categoria
Empty SET (0.02 sec)
mysql> SELECT C.usuario, C.categoria, P.categoria
-> FROM compradores C LEFT JOIN productos P ON C.categoria = P.categoria
+---------------------+-----------+-----------+
| usuario | categoria | categoria |
+---------------------+-----------+-----------+
| macros365@yahoo.com | | NULL |
+---------------------+-----------+-----------+
1 ROW IN SET (0.00 sec)