Insertar Datos en SQL desde Otra Tabla con SELECT

Clase 22 de 24Curso de Fundamentos de Bases de Datos

Resumen

Aprender a utilizar correctamente la instrucción SQL INSERT INTO SELECT es esencial para optimizar la manipulación de datos en bases de datos MySQL. Esta instrucción permite llenar una tabla nueva con datos provenientes de otra tabla existente, facilitando tareas y mejorando la eficiencia.

¿Cómo crear una tabla para almacenar inversiones en MySQL?

Crear una tabla específica, como investment, facilita almacenar datos relacionados al capital invertido en productos. La tabla se define claramente con los siguientes atributos:

CREATE TABLE investment (
  investmentID INT UNSIGNED PRIMARY KEY AUTO_INCREMENT,
  productID INT UNSIGNED NOT NULL,
  investment INT NOT NULL DEFAULT 0
);

Es fundamental definir de manera precisa cada columna, estableciendo correctamente tipos de datos y restricciones para asegurar la integridad y eficiencia del almacenamiento de información.

¿En qué consiste la sentencia Insert Into Select?

La instrucción INSERT INTO SELECT combina dos procesos en uno solo, llenando la tabla recién creada con información extraída directamente desde otra existente de manera sencilla, rápida y ordenada:

INSERT INTO investment (productID, investment)
SELECT productID, stock * price FROM products;

Los aspectos importantes son:

  • No se utiliza la palabra clave VALUES.
  • Se especifican las columnas correspondientes entre ambas tablas.
  • La consulta seleccionada (SELECT) define los valores que serán insertados.

Este método garantiza rapidez y transparencia en la transferencia de datos.

¿Cómo verificar y analizar las inversiones máximas?

Una vez insertados los datos, es fácil realizar análisis específicos, como identificar los productos con mayores inversiones aplicando ordenamiento descendente y limitando los resultados:

SELECT * FROM investment
ORDER BY investment DESC
LIMIT 10;

Para obtener información completa sobre un producto específico que resalte en el análisis, se emplea:

SELECT * FROM products
WHERE productID = 1208;

Estos análisis sirven para identificar claramente dónde se concentran las mayores inversiones y decidir estratégicamente sobre la gestión de capital en productos específicos.

Si quieres profundizar o aclarar aspectos puntuales sobre la instrucción INSERT INTO SELECT, no dudes en dejar tus comentarios o preguntas abajo.