Может лучше работать при левом соединении:
SELECT
teams.*
FROM teams
LEFT JOIN players ON (teams.id = players.team_id)
WHERE
players.team_id IS NULL
Или используя ARel (благодаря комментарию JasonKing):
Team.includes(:players).where('players.team_id IS NULL')