Esto es muy sencillo:
CREATE TEMPORARY TABLE tempname AS (
SELECT whatever, whatever
FROM rawtable
JOIN othertable ON this = that
)
La tabla temporal desaparecerá cuando se cierre la conexión. Una tabla temporal contiene los datos que se capturaron en el momento de su creación.
También puede crear una vista, así.
CREATE VIEW viewname AS (
SELECT whatever, whatever
FROM rawtable
JOIN othertable ON this = that
)
Las vistas son objetos permanentes (no desaparecen cuando se cierra la conexión), pero recuperan datos de las tablas subyacentes en el momento en que las invoca.