우주먼지
Published 2023. 3. 20. 12:36
Select Into & Insert Into Select Database/SQL

💡 Select Into

한 테이블의 데이터를 새 테이블로 복사할 때 사용한다.

 

기본 형식

SELECT *
INTO newtable [IN externaldb]
FROM oldtable
WHERE condition;

일부 열만 새 테이블에 복사

SELECT column1, column2, column3 ...
INTO newtable [IN externaldb]
FROM oldtable
WHERE condition;

 

예시

Customer의 백업본 생성

SELECT *
INTO CustomersBK
FROM Customers;

IN을 사용하여 데이블을 다른 데이터베이스의 새 테이블로 복사

SELECT *
INTO CustomerBK IN 'Backup.mdb'
FROM customers;

몇 개의 열만 새 테이블에 복사

SELECT CustomerName, ContactName INTO CustomerBK
FROM Customers;

국가가 독일인 고객만 새 테이블에 복사

SELECT *
INTO CustomerBK
FROM Customers
WHERE Country = 'Germany';

둘 이상의 테이블에서 새 테이블로 데이터를 복사

SELECT Customers.CustomerName, Orders.OrderID
INTO CustomerOrderBK
FROM Customerss
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID;

💡 Insert Into Select

한 테이블에서 데이터를 복사하여 다른 테이블에 삽입한다.

소스 및 대상 테이블의 데이터 유형이 일치해야 함.

참고 : 테이블의 기존 레코드는 영향을 받지 않는다.

INSERT INTO table2
SELECT * FROM table1
WHERE condition

 

Sample Table

 

Customer 테이블

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico

 

Suppliers 테이블

SupplierID SupplierName ContactName Address City Postal Code Country
1 Exotic Liquid Charlotte Cooper 49 Gilbert St. Londona EC1 4SD UK
2 New Orleans Cajun Delights Shelley Burke P.O. Box 78934 New Orleans 70117 USA
3 Grandma Kelly's Homestead Regina Murphy 707 Oxford Rd. Ann Arbor 48104 USA

 

예시

Suppliers를 Customers로 복사한다. (데이터가 채워지지 않은 열은 Null이 포함된다.)

INSERT INTO Customers (CustomerName, City, Country)
SELECT SupplierName, City, Country FROM Suppliers;

Suppliers를 Customers로 복사한다. (모든 열 채우기)

INSERT INTO Customers (CustomerName, ContactName, Address, City, PostalCode, Country)
SELECT SupplierName, ContactName, Address, City, PostalCode, Country FROM Suppliers;

'독일' 공급업체만 Customers로 복사한다.

INSERT INTO Customers (CustomerName, City, Country)
SELECT SupplierName, City, Country FROM Suppliers
WHERE Country = 'Germany';

'Database > SQL' 카테고리의 다른 글

Null Functions  (0) 2023.03.28
Case  (0) 2023.03.20
Any & All  (0) 2023.03.19
Exists  (0) 2023.03.19
Having  (0) 2023.03.19
profile

우주먼지

@o귤o

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그