aby bylo levé spojení účinné, musíte přesunout podmínku earned_trophys.user_id = 1 do on klauzule namísto where .
select
trophy.name,
earned_trophys.user_id,
count(user_id) as temp
from
trophy
left join
earned_trophys
on
trophy.trophy_id = earned_trophys.trophy_id and earned_trophys.user_id = 1
group by
name