Las subconsultas son legales en la cláusula
          FROM de un comando
          SELECT. La sintaxis que vería es:
        
SELECT ... FROM (subquery) [AS]name...
          La cláusula [AS]
           es obligatoria, ya
          que cada tabla en la cláusula nameFROM debe
          tener un nombre. Cualquier columna en la lista selecta de la
          subquery debe tener nombre único.
          Puede encontrar esta sintaxis descrita en este manual, dónde
          se usa el término “tablas derivadas.”
        
Asuma que tiene la tabla:
CREATE TABLE t1 (s1 INT, s2 CHAR(5), s3 FLOAT);
          Aquí se muestra cómo usar una subconsulta en la cláusula
          FROM usando la tabla de ejemplo:
        
INSERT INTO t1 VALUES (1,'1',1.0); INSERT INTO t1 VALUES (2,'2',2.0); SELECT sb1,sb2,sb3 FROM (SELECT s1 AS sb1, s2 AS sb2, s3*2 AS sb3 FROM t1) AS sb WHERE sb1 > 1;
          Resultado: 2, '2', 4.0.
        
Aquí hay otro ejemplo: suponga que quiere conocer la media de un conjunto de sumas para una tabla agrupada. Esto no funcionaría:
SELECT AVG(SUM(column1)) FROM t1 GROUP BY column1;
Sin embargo, esta consulta proporciona la información deseada:
SELECT AVG(sum_column1) FROM (SELECT SUM(column1) AS sum_column1 FROM t1 GROUP BY column1) AS t1;
          Tenga en cuenta que el nombre de columna usado dentro de la
          subconsultas (sum_column1) se reconoce en
          la consulta exterior.
        
          Las subconsultas en la cláusula FROM
          pueden retornar un escalar, columna, registro o tabla. De
          momento, las subconsultas en la cláusula
          FROM no pueden ser subconsultas correladas.
        
          Las subconsultas en la cláusula FROM se
          ejecutan incluso para el comando EXPLAIN
          (esto es, se construyen las tablas temporales derivadas). Esto
          ocurre porque las consultas de niveles superiores necesitan
          información acerca de todas las tablas durante la fase de
          optimización.
        
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.

