Quiero usar el resultado de una consulta en SQL como una tabla y agregarlo a la base de datos para poder usar esta tabla para ejecutar otra consulta. ¿Cómo lo hago?

Lo que está describiendo se llama (en la mayoría de las bases de datos SQL) una vista.

La sintaxis para crear una vista variará según la base de datos, en el servidor Microsoft SQL (T-SQL) es:
CREAR VISTA (Transact-SQL)

En MySQL:
13.1.12 Sintaxis CREAR VISTA

En oráculo
CREAR VISTA

para otros servidores SQL, simplemente google “{el nombre de la base de datos} crear vista” y probablemente lo encontrará muy rápidamente

En cualquier caso, la vista que cree se verá y se comportará como una tabla y “contendrá” los resultados de la consulta utilizada para crearla en un momento dado. Después de crear una vista, normalmente necesitará establecer (otorgar) permisos en la vista de manera adecuada. Estos permisos pueden o no ser los mismos que los otorgados en las tablas subyacentes.

En cuanto al rendimiento, las vistas no son intrínsecamente mejores que una simple unión, pero en algunas implementaciones de vista (dependientes del servidor SQL) y, por lo general, bajo ciertas restricciones, podrían optimizarse para proporcionar una ganancia de rendimiento (por ejemplo, al indexar una vista o al dividir explícitamente una vista que es el resultado de una unión de varias tablas)

Una opción es usar una sintaxis como

cree la tabla myResults como select … from tableA join tableB ….
(sintaxis mysql)
o en MS SQL

seleccione … en myResults de la tabla A unir tabla B …

Hay un montón de advertencias sobre esto; y puede que le resulte más conveniente usar tablas temporales (menos problemas para limpiar después), pero en general:

  1. estas tablas no tienen índices o claves primarias, por lo que el rendimiento generalmente es incognoscible
  2. crear claves primarias después del hecho en mysql puede ser muy costoso, en términos de tiempo
  3. Al crear tablas temporales en MSSQL, van a una de las bases de datos del sistema, que puede no tener suficiente disco local para administrarlas.
  4. si * haces * crea tablas temporales en mysql; no puedes volver a abrirlos en una consulta
  5. Si realmente no tiene suerte y la consulta es moderadamente compleja, el motor no se dará cuenta de cuál es el tamaño correcto de las columnas de datos de salida y experimentará un desbordamiento (con la operación abortar)

El punto es que estas cosas no vienen gratis; así que ten cuidado con lo que estás haciendo.

¿Qué RDBMS estás usando? Dependiendo de qué tan grande sea su conjunto de datos, a veces puede hacer esto con una Sub-selección en lugar de colocar los datos en una nueva tabla. (Una subselección técnicamente hace esto en la memoria).

Vea la sintaxis (para MySql):
13.2.9 Sintaxis de subconsulta

Y un buen tutorial (también para MySQL):
¿Cómo funcionan las subconsultas en MySQL?

Puede usar una vista, una tabla temporal, un CTE, una subselección, una subconsulta correlacionada, una función con valores de tabla o una tabla persistente. Hay ventajas para cada uno, por lo que requeriría mucha más información para aconsejar cuál es el mejor.

Utiliza una vista, si solo desea un resultado inmediato, o una vista materializada, si desea mantener los datos como una “instantánea”.

More Interesting

Mi presupuesto diario para publicidad es de $ 20. Nuestro objetivo son desarrolladores, frontend y desarrolladores web. ¿Cómo puedo usar este presupuesto de la manera más eficiente?

Me gustaría comenzar un sitio de noticias sobre comediantes, ¿puedo publicar su standup en YouTube?

Acabo de comenzar el desarrollo web front-end. Soy un novato total. ¿La mayoría de los desarrolladores front-end memorizan todo en la parte HTML + CSS?

Quiero ser desarrollador web. ¿Qué debo aprender?

Cómo comenzar a crear un sitio web

Cuando agrego una columna a una tabla existente, ¿se convierte automáticamente en una clave principal?

Estoy interesado en aprender Angular JS, ¿debería usar Angular 1.xy luego transferir a Angular 2.xo directamente a Angular 2?

Estoy tratando de seguir una carrera en desarrollo web front-end. Ya estudié HTML y CSS. ¿Es un buen camino para aprender Dreamweaver y WordPress?

Aprendí jQuery antes de JS, y ahora soy súper dependiente. ¿Cómo me vuelvo menos dependiente de jQuery y más de JS?

Acabo de graduarme de la universidad y asistiré a un campo de entrenamiento de desarrollo web en 2 meses. ¿Qué ideas, conceptos y herramientas clave debo aprender sobre programación y ciencias de la computación en su conjunto que no me enseñen?

Cómo crear un nuevo sitio web

¿Cómo se pueden combinar el desarrollo web y la visualización de datos para obtener excelentes opciones profesionales?

Estoy tratando de crear un sitio web que contenga todas las ligas deportivas en su área. ¿Qué tipo de API usaría para esto o tendría que comenzar a construir una base de datos grande?

Cómo escribir un código para pasar por páginas web como un humano automáticamente y obtener la información requerida

Cómo cambiar el color de la flecha en una vista de lista móvil de jQuery