Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Chèn tất cả các giá trị của một bảng vào một bảng khác trong SQL

Câu lệnh insert thực sự có một cú pháp để thực hiện điều đó. Tuy nhiên, sẽ dễ dàng hơn rất nhiều nếu bạn chỉ định tên cột thay vì chọn "*":

INSERT INTO new_table (Foo, Bar, Fizz, Buzz)
SELECT Foo, Bar, Fizz, Buzz
FROM initial_table
-- optionally WHERE ...

Tôi nên làm rõ điều này hơn vì vì lý do nào đó mà bài đăng này nhận được một số phiếu bầu thấp.

Cú pháp CHÈN VÀO ... CHỌN TỪ dành cho khi bảng bạn đang chèn vào ("new_table" trong ví dụ của tôi ở trên) đã tồn tại. Như những người khác đã nói, cú pháp SELECT ... INTO dành cho khi bạn muốn tạo bảng mới như một phần của lệnh.

Bạn không chỉ định liệu bảng mới có cần được tạo như một phần của lệnh hay không, vì vậy CHÈN VÀO ... CHỌN TỪ sẽ ổn nếu bảng đích của bạn đã tồn tại.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm cách nào để xóa các hàng trùng lặp trong bảng

  2. Cách đặt lại giá trị cột nhận dạng trong bảng SQL Server - Hướng dẫn SQL Server / T-SQL Phần 43

  3. So sánh chuỗi SQL, toán tử lớn hơn và nhỏ hơn

  4. Làm cách nào để trả về nhiều giá trị trong một cột (T-SQL)?

  5. Bỏ khóa ngoại mà không biết tên của ràng buộc?