Con SQL SELECT INTO puedes copiar los conjuntos de datos que quieras y pegarlos en una tabla nueva o dejarlos en el po­r­ta­pa­pe­les. Su ventaja principal es que permite una tra­n­s­mi­sión de datos rápida y fiable con la que puedes organizar, ac­tua­li­zar y ordenar datos.

¿Qué es SQL SELECT INTO?

El lenguaje de pro­gra­ma­ción y bases de datos SQL ofrece diversas he­rra­mie­n­tas para gestionar, analizar y procesar de manera pro­fe­sio­nal tus bases de datos. Entre ellas están comandos como SQL SELECT, que puede co­m­bi­nar­se con otros ope­ra­do­res para llevar a cabo diversas acciones. Por ejemplo, con SQL SELECT DISTINCT puedes eliminar du­pli­ca­dos, mientras que con el operador de SQL SELECT INTO puedes copiar los datos de una tabla a otra. SELECT INTO no es uno de los comandos, ope­ra­do­res ni funciones clásicas de SQL, sino que funciona como cláusula en los sta­te­me­nts de SQL.

Consejo

Aprende los fu­n­da­me­n­tos y funciones más im­po­r­ta­n­tes de SQL – uno de los lenguajes de pro­gra­ma­ción y bases de datos más populares y so­li­ci­ta­dos en todos los sectores. Con nuestra guía SQL con ejemplos podrás iniciarte en el programa rá­pi­da­me­n­te.

Sintaxis de SELECT INTO

La sintaxis SELECT INTO es sencilla:

SELECT  *
INTO  nueva_tablameta
FROM tabla_existente;
sql

Utiliza los pa­rá­me­tros:

  • SELECT: El comando SELECT define las columnas de la tabla ya existente de la que quieres copiar los datos. Puedes indicar los nombres concretos de las columnas o usar un asterisco * para copiar todos los datos de la tabla de origen.
  • INTO: Define y nombra la nueva tabla meta para los datos copiados.
  • FROM: Elige la tabla ya existente de la que quieres copiar los datos.
  • WHERE: Con la cláusula opcional SQL WHERE puedes es­pe­ci­fi­car co­n­di­cio­nes concretas que deben reunir los datos que vas a copiar de la tabla de origen.

Para qué sirve el operador SELECT INTO

SQL SELECT INTO sirve pri­n­ci­pa­l­me­n­te para trasladar datos a una tabla nueva, pero también vale para agregar, almacenar te­m­po­ra­l­me­n­te en la caché o extraer conjuntos de datos o parte de ellos. Eli­mi­na­n­do además los du­pli­ca­dos, por ejemplo con DISTINCT, puedes limpiar y reducir tus datos.

He a co­n­ti­nua­ción algunos usos prácticos de distintas ramas:

  • Copiar, extraer y trasladar datos de productos, clientes, pedidos o pacientes para proyectos nuevos, estudios o para la migración de datos
  • Analizar datos de te­n­de­n­cias y marketing mediante datos de pedidos y ventas
  • Analizar datos fi­na­n­cie­ros tra­s­la­da­n­do datos de tra­n­sac­cio­nes
  • Limpiar datos de clientes o tra­ba­ja­do­res eli­mi­na­n­do los du­pli­ca­dos en una tabla nueva
  • Recabar y analizar datos en Data Wa­rehou­ses
  • Recoger datos para modelos de apre­n­di­za­je au­to­má­ti­co
Consejo

¿Buscas un sistema de gestión de bases de datos seguro y escalable? Con Hosting SQL Server de IONOS accederás a una oferta única de servidor y alo­ja­mie­n­to con una pro­te­c­ción de datos según es­tá­n­da­res alemanes.

Se­r­vi­do­res virtuales (VPS)
VPS rentables en se­r­vi­do­res Dell En­te­r­pri­se
  • 1 Gb/s de ancho de banda y tráfico ilimitado
  • 99,99 % de tiempo de actividad y ce­r­ti­fi­ca­ción ISO
  • Soporte 24/7 ga­la­r­do­na­do y asesor personal

Ejemplos prácticos de SQL SELECT INTO

Te ex­pli­ca­mos cómo funciona SQL SELECT INTO con dos ejemplos prácticos.

Se­le­c­cio­nar y tra­n­s­fe­rir clientes únicos

En la tabla “Pedidos”, quieres se­le­c­cio­nar todos los re­su­l­ta­dos de la columna “Nombre de cliente” y tra­n­s­fe­rir sin duplicar las filas por pedidos varios a una tabla nueva llamada “Pedidos nuevos”.

SELECT DISTINCT nombre cliente
INTO pedidos nuevos
FROM pedidos;
sql

Tra­n­s­fe­rir las entradas de clientes de una de­te­r­mi­na­da región

Con la cláusula WHERE puedes elegir los datos de cliente que cumplen ciertas co­n­di­cio­nes. Por ejemplo, así es como puedes tra­n­s­fe­rir las entradas de clientes que vienen de Alemania:

SQL Server:

SELECT nombre cliente, país
INTO pedidos nuevos
FROM pedidos
WHERE país = 'Alemania';
sql

MySQL, Po­s­t­gre­S­QL, SQlite:

INSERT INTO Pedidos nuevos (nombre cliente, país)
SELECT nombre cliente, país
FROM pedidos
WHERE país = 'Alemania';
sql

Al­te­r­na­ti­vas a SQL SELECT INTO

Para copiar y tra­n­s­fe­rir datos entre tablas, hay varias opciones además de SELECT INTO. Estas son las más im­po­r­ta­n­tes:

  • INSERT INTO SELECT: SQL INSERT INTO SELECT permite copiar y pegar conjuntos de datos o re­su­l­ta­dos de una tabla a otra ya existente. La principal di­fe­re­n­cia es que con SELECT INTO se crea una tabla nueva donde pegar los datos.
  • CREATE TABLE AS: Con la asi­g­na­ción SQL CREATE TABLE puedes crear una tabla nueva. Co­m­bi­ná­n­do­la con SQL SELECT y AS puedes elegir que la tabla nueva se base en los re­su­l­ta­dos de la orden SELECT y por tanto debe contener los datos elegidos de una tabla existente.
  • UNION o UNION ALL: Con el operador SQL UNION puedes unificar los datos de las tablas y columnas que quieras en una nueva tabla meta sin du­pli­ca­dos. Si se combina con el operador ALL, puedes decidir que se tengan en cuenta que todos los conjuntos de datos de una tabla, in­clu­ye­n­do los du­pli­ca­dos.
  • IMPORT TABLE: La in­s­tru­c­ción IMPORT TABLE solo es adecuada para importar datos de una tabla externa y archivos de una tabla. El comando está di­s­po­ni­ble sobre todo en las versiones más nuevas de SQL.
  • LOAD DATA INFILE: Esta in­s­tru­c­ción funciona como IMPORT TABLE, pero es más flexible, también más compleja en uso, y soporta más formatos de fuentes externas. Además está di­s­po­ni­ble en todas las versiones de SQL.
Ir al menú principal