Не използвайте NOT IN с подзаявки. Има грешна семантика, ако някоя стойност в подзаявката е NULL . В този случай NOT IN никога не дава резултат TRUE, така че не се връщат никакви редове.
Вместо това използвайте NOT EXISTS :
SELECT p.id, p.name
FROM players p
WHERE p.this = 1 AND
NOT EXISTS (SELECT 1
FROM players_online po
WHERE po.name = p.name AND po.this = 'that'
)
ORDER BY RAND()
LIMIT 3, 6;