JOIN - соединение таблиц. Для соединения используется какой-то столбец, который должен логически связывать эти таблицы. (chat JOIN profile - чат СОЕДИНИТЬ с профилем)
ON - условие, как WHERE, только по этому условию и происходит связь
SELECT login FROM chat
JOIN profile
ON profile.id = chat.uid
Но на сколько я понимаю, логин должен храниться в таблице профиля, по-этому скорее будет так:
SELECT p.login FROM profile p
JOIN chat c
ON p.id = c.uid
ORDER BY c.time DESK
LIMIT должно быть число - ограничение. Маска задается LIKE
SQL возвращает ничего, значение или массив значений.
Засовывешь полученный результат в массив $arr, например, и обрабатываешь
foreach ($arr as $login) {
echo $login;
}
или
for ($i = 0; $i < count($arr); $i++) {
echo $arr[$i];
}