Dočasné tabulky jsou často cenné, když máte poměrně komplikovaný SELECT, který chcete provést, a pak na něj provést spoustu dotazů...
Můžete udělat něco jako:
CREATE TEMPORARY TABLE myTopCustomers
SELECT customers.*,count(*) num from customers join purchases using(customerID)
join items using(itemID) GROUP BY customers.ID HAVING num > 10;
A pak proveďte spoustu dotazů proti myTopCustomers, aniž byste museli provádět spojení s nákupy a položkami na každý dotaz. Když pak vaše aplikace již nepotřebuje popisovač databáze, není třeba provádět žádné čištění.
Téměř vždy uvidíte dočasné tabulky používané pro odvozené tabulky, jejichž vytvoření bylo nákladné.