Pregunta de entrevista de NTT DATA

What is the difference between temp table, table variable and cte ?