I think with this query, even though it looks like you'll find a record if the name exists in either table, infact you'll only get a resultset when the name exists in both tables.
What field are you joining on? Or rather, is there an index in common? A straight fix rather depends on how your data is organised.
If you want to select all the entries in the pending table for a user who exists in the ratings table then this should do it
"SELECT ratings.*, pending.* FROM ratings LEFT JOIN pending ON ratings.username = pending.username WHERE ratings.username = 'jjfjunk'"
Should give you all the data from ratings if the user is in there. You will get all the data from pending if the user is also in there. If not, then you will get all the field from pending, but with a Null value in them. If there is more than one entry in pending then you will get multpile rows returned, each with the ratings data repeated.