instrucción SELECCIONAR EN SQL

La declaración SELECT INTO en SQL se usa generalmente para fines de copia masiva. Podríamos copiar todos los datos de una tabla a otra tabla usando un solo comando.

Nota:
Las consultas se ejecutan en SQL SERVER y es posible que no funcionen en muchos editores de SQL en línea, así que mejor use un editor fuera de línea.

Sintaxis:

SELECT column1, column2..... INTO TARGET_TABLE from SOURCE_TABLE 

TARGET_TABLE debe tener el mismo esquema y tipos de datos que SOURCE_TABLE.

Primero creemos una tabla GFG_Employees:

create table GFG_Employees 
 (
  id int,
  name varchar(20),
  email varchar(max),
  department varchar(20)
 ) ;

insert into GFG_EMPLOyees values(1, 'Jessie', 'jessie23@gmail.com', 'Development'); 
insert into GFG_EMPLOyees values(2, 'Praveen', 'praveen_dagger@yahoo.com', 'HR');
insert into GFG_EMPLOyees values(3, 'Bisa', 'dragonBall@gmail.com', 'Sales'); 
insert into GFG_EMPLOyees values(4, 'Rithvik', 'msvv@hotmail.com', 'IT'); 
insert into GFG_EMPLOyees values(5, 'Suraj', 'srjsunny@gmail.com', 'Quality Assurance');
insert into GFG_EMPLOyees values(6, 'Om', 'OmShukla@yahoo.com', 'IT');
insert into GFG_EMPLOyees values(7, 'Naruto', 'uzumaki@konoha.com', 'Development'); 

Identificación Nombre Correo electrónico Departamento
1 Jessie jessie23@gmail.com Desarrollo
2 Praveen praveen_dagger@yahoo.com HORA
3 Bisa dragonball@gmail.com Ventas
4 Ritvik msvv@hotmail.com ESO
5 Suraj srjsunny@gmail.com Seguro de calidad
6 Om OmShukla@yahoo.com ESO
7 naruto uzumaki@konoha.com Desarrollo

Consulta-1: Para copiar todos los datos de GFG_Employee en la tabla backUpEmployee.

SELECT * INTO backUpEmployee from GFG_Employees; 

Producción:

Select * from backUpEmployee;

Identificación Nombre Correo electrónico Departamento
1 Jessie jessie23@gmail.com Desarrollo
2 Praveen praveen_dagger@yahoo.com HORA
3 Bisa dragonball@gmail.com Ventas
4 Ritvik msvv@hotmail.com ESO
5 Suraj srjsunny@gmail.com Seguro de calidad
6 Om OmShukla@yahoo.com ESO
7 naruto uzumaki@konoha.com Desarrollo

Consulta-2: use la cláusula ‘where’ para copiar solo algunas filas de GFG_Employees en la tabla backUp2.

SELECT * INTO backUp2 from GFG_Employees where department in ('Development', 'IT'); 

Producción:

Select * from backUp2; 

Identificación Nombre Correo electrónico Departamento
1 Jessie jessie23@gmail.com Desarrollo
4 Ritvik msvv@hotmail.com ESO
6 Om OmShukla@yahoo.com ESO
7 naruto uzumaki@konoha.com Desarrollo

Consulta-3: para copiar solo algunas columnas de GFG_Employees en la tabla backUp3, especifíquelas en la consulta.

SELECT id, name INTO backUp3 from GFG_Employees; 

Producción:

Select * from backUp3; 

Identificación Nombre
1 Jessie
2 Praveen
3 Bisa
4 Ritvik
5 Suraj
6 Om
7 naruto

INSERT INTO SELECT vs SELECT INTO:
Ambas declaraciones podrían usarse para copiar datos de una tabla a otra. Pero INSERT INTO SELECT podría usarse solo si la tabla de destino existe, mientras que la declaración SELECT INTO podría usarse incluso si la tabla de destino no existe, ya que crea la tabla de destino si no existe.

INSERT INTO tempTable select * from GFG_Employees; 

AQUÍ la tabla tempTable debe estar presente o creada de antemano, de lo contrario arrojará un error.

SELECT * INTO backUpTable from GFG_Employees;

Aquí no es necesario existir antes ya que SELECT INTO crea una tabla si la tabla no existe y luego copia los datos.

Publicación traducida automáticamente

Artículo escrito por SrjSunny y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *