You can actually join a table to itself. However, if I understand what you want, you don't need to use a join.
If you have a table with a category column, and you want to get a list of distinct categories, the following query will work (note: You can only select the column that you want a distinct list of. If you add a second column to the SELECT list, it will be considered when looking for distinct results.)
SELECT DISTINCT category FROM your_table GROUP BY category