mysql> create temporary table temp ( ID int );
mysql> insert into temp select ID from cities order by population desc limit 5;
mysql> select a.* from cities a,temp b where a.ID=b.ID order by Name;
Временные таблицы удаляются при закрытии соединения или могут быть удалены вручную. Временные таблицы не видны из других соединений.
Нормальный способ будет (но пока не поддерживается):
mysql> select * from cities where ID in (select ID from cities order by population desc limit 5) order by Name;
Но ответ таков:
ERROR 1235 (42000): This version of MySQL doesn't yet support 'LIMIT & IN/ALL/ANY/SOME subquery'
(пробовал с 5.0.5)