Ngôn ngữ SQL - INSERT INTO SELECT

Chèn dữ liệu vào một bảng bởi sử dụng bảng khác

Chúng ta đã biết cách chèn một hàng hoặc một dữ liệu riêng lẻ vào một bảng tại một thời điểm, nhưng nếu bạn muốn chèn nhiều hàng trong một bảng. Ngoài INSERT INTO, bạn sẽ kết hợp nó với câu lệnh select.

Trong lệnh này, bạn đang sử dụng dữ liệu từ một bảng khác.

 Cú pháp cho sql chèn vào select:

INSERT INTO "table 1" ("column1", "column2",....)  
SELECT "column3", "column4",....  
FROM "table2";  

Câu lệnh INSERT INTO cũng có thể chứa nhiều mệnh đề như  SELECT, GROUP BY, HAVING  cũng như JOIN và ALIAS. Vì vậy, việc chèn vào câu lệnh select có thể phức tạp một số lần.

Hãy lấy một ví dụ:

Có một bảng, được đặt tên là sales_data trong một cửa hàng tên cơ sở dữ liệu trong khi bảng store_in information chứa bản ghi của những dữ liệu được bán từ cửa hàng mỗi ngày. Nếu bạn muốn di chuyển dữ liệu từ sales_data sang store_inif

Cú pháp:

INSERT INTO store (store_name, sales, transaction_date)  
SELECT store_name, sum (sales), transaction_date  
FROM sales_information  
GROUP BY store_name, transaction_date;