SQL Select Into & Insert Into Select

2023. 4. 9. 10:14·📦 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' 카테고리의 다른 글

SQL Null Function  (0) 2023.04.09
SQL Case  (0) 2023.04.09
SQL Any & All  (0) 2023.04.08
SQL Exists  (0) 2023.04.08
SQL Having  (0) 2023.04.08
'📦 Database/SQL' 카테고리의 다른 글
  • SQL Null Function
  • SQL Case
  • SQL Any & All
  • SQL Exists
신건우
신건우
조용한 개발자
  • 신건우
    우주먼지
    신건우
  • 전체
    오늘
    어제
    • 분류 전체보기 (422)
      • 📘 Frontend (71)
        • Markup (1)
        • Style Sheet (2)
        • Dart (8)
        • Javascript (12)
        • TypeScript (1)
        • Vue (36)
        • React (2)
        • Flutter (9)
      • 📘 Backend (143)
        • Java (34)
        • Concurrency (19)
        • Reflection (1)
        • Kotlin (29)
        • Python (1)
        • Spring (42)
        • Spring Cloud (5)
        • Message Broker (5)
        • Streaming (2)
        • 기능 개발 (5)
      • 💻 Server (6)
        • Linux (6)
      • ❌ Error Handling (11)
      • 📦 Database (62)
        • SQL (31)
        • NoSQL (2)
        • JPQL (9)
        • QueryDSL (12)
        • Basic (4)
        • Firebase (4)
      • ⚙️ Ops (57)
        • CS (6)
        • AWS (9)
        • Docker (8)
        • Kubernetes (13)
        • MSA (1)
        • CI & CD (20)
      • 📚 Data Architect (48)
        • Data Structure (10)
        • Algorithm (8)
        • Programmers (17)
        • BaekJoon (5)
        • CodeUp (4)
        • Design Pattern (4)
        • AI (0)
      • ⚒️ Management & Tool (8)
        • Git (7)
        • IntelliJ (1)
      • 📄 Document (10)
        • Project 설계 (6)
        • Server Migration (3)
      • 📄 책읽기 (2)
        • 시작하세요! 도커 & 쿠버네티스 (2)
      • 🎮 Game (4)
        • Stardew Vally (1)
        • Path of Exile (3)
  • 블로그 메뉴

    • 링크

      • Github
    • 공지사항

    • 인기 글

    • 태그

      GStreamer #Pipeline
      React #Markdown
      Lock #Thread #Concurrency
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.0
    신건우
    SQL Select Into & Insert Into Select
    상단으로

    티스토리툴바