Not following this exactly, yet. If you do a straight JOIN, then things disappear from the results when missing from one of the joined tables, which is desired behavior in many queries, but not this case? So, to keep that from happening do a LEFT JOIN. This insures items that are in the lefthand table are included even if there is no match to the right hand table.

Simplest starting point;

SELECT * FROM t_songs2 t WITH(NOLOCK) 
  JOIN dd_moods dd WITH(NOLOCK) ON t.mood_main_fk = dd.ID_descripgroup
Then:
SELECT * FROM t_songs2 t WITH(NOLOCK) 
  LEFT JOIN dd_moods dd WITH(NOLOCK) ON t.mood_main_fk = dd.ID_descripgroup