1. Câu lệnh SELECT INTO

Câu lệnh  SELECT INTO được sử dụng để sao chép dữ liệu từ một bảng vào một bảng mới. Hay có thể hiệu rằng, câu lệnh này sẽ tạo ra một bảng mới dựa trên bảng có sẵn được sao chép lại.

Cú pháp câu lệnh SELECT INTO như sau:

SELECT *
INTO newtable 
FROM oldtable
WHERE condition;

Câu lệnh SELECT INTO chỉ sao chép một số cột vào một bảng mới:

SELECT column1, column2, column3, ...
INTO newtable 
FROM oldtable
WHERE condition;

Trong đó:

  • SELECT column1, column2, column3, … là câu lệnh chọn các cột trong bảng bị sao chép
  • INTO newtable là tên bảng mới được tạo ra nhờ việc sao chép
  • FROM oldtable là tên bảng bị sao chép
  • WHERE condition là điều kiện chọn ra các bản ghi trước khi được sao chép vào bảng newtable

Chú ý: Khi tạo bảng bằng cách này thì tất cả bản ghi ở bảng cũ sẽ được sao chép sang thành các bản ghi của bảng mới vừa được tạo nhờ việc sao chép.

2. Ví dụ câu lệnh SELECT INTO

Câu lệnh SQL sau tạo một bản sao lưu của bảng KhacHang, bảng này sẽ có tên là KhachHangBackup

SELECT * INTO KhachHangBackup
FROM KhachHang;

Kết quả:

Câu lệnh SQL sau chỉ sao chép một vài cột ở bảng KhachHang vào một bảng KhachHangBackup2 mới:

SELECT TenKH,DiaChi,SoDienThoai INTO KhachHangBackup2
FROM KhachHang;

Kết quả:

Câu lệnh SQL sau chỉ sao chép các khách hàng có thành phố là Hà Nội (ThanhPho = ‘Ha Noi’) vào một bảng mới có tên KhachHangBackup3

SELECT * INTO KhachHangBackup3
FROM KhachHang
WHERE ThanhPho = 'Ha Noi';

Kết quả:

SELECT INTO cũng có thể được sử dụng để tạo một bảng mới và trống hoàn toàn. Bằng cách sử dụng lược đồ của một bảng khác. Chỉ cần thêm một mệnh đề WHERE khiến truy vấn không trả về dữ liệu như sau:

SELECT * INTO KhacHangMoi
FROM KhachHang
WHERE 1 = 0;