you need to use GROUP BY in order to split score's sum over different users, further more if you use LEFT JOIN then you'll be sure to get a row for each user instance even if it has no rows in stats table (then, using COALESCE as regileroregilero suggested, the sum will be 0)
something like:
SELECT u.id, u.username, u.email, u.active, u.admin, u.team_id, t.name AS team_name, sum( COALESCE(s.score) ) AS total_score FROM users u LEFT JOIN teams t ON u.team_id = t.id LEFT JOIN stats s ON u.id = s.user_id GROUP BY u.id, u.username, u.email, u.active, u.admin, u.team_id, t.name this is not tested